Verification Report · syncthing v2.1.6
NOT PUBLISHED
syncthing-v2.1.6-20261006-001
verified_at 2026-10-06T12:22:19Z
Immutable inputs
| App version | v2.1.6 ← release tag v2.1.6 · source 4461a1ce354d |
| Image (exact tag) | syncthing/syncthing:2.1.6 |
| Image digest (linux/amd64) | sha256:92e9a8bf559062b955ab45c7a60bc33d0b97ebdb1e5e86959b40714b482f740a |
| Index digest | sha256:4d0281bdcb4ed9baf503d251d0544ddd856f49fce3f114056257ae172b7fb670 |
| Pulled as | syncthing/syncthing:2.1.6@sha256:92e9a8bf559062b955ab45c7a60bc33d0b97ebdb1e5e86959b40714b482f740a via registry-1.docker.io |
| Platform contract | ami-0045d7fc2ad003464 · us-east-1/x86_64 · source=public (plat-us-east-1-x86_64-20261001-001) |
| Config revisions | app dcdd0afd2e16 · compose f589ee584297 |
| Release type | bug_fix — rule3: patch-only bump v2.1.5 -> (2, 1, 6) |
Publish gate
| Check | Field | Result |
|---|
| Compose started | checks.compose_started | Passed |
| Container healthy | checks.container_healthy | Passed |
| Health check passed | checks.health_check_passed | Passed |
| Application tests | checks.tests_passed | Passed |
| Screenshots captured | checks.screenshots_generated | Passed |
| Screenshots published | checks.screenshots_uploaded | Failed |
| Report published | checks.report_uploaded | Failed |
| Manifest published | checks.verification_manifest_uploaded | Failed |
| Platform contract valid | checks.required_platform_contract_valid | Passed |
Evidence
| Health probe | HTTP 200 — ready |
| Version assertion | True actual v2.1.6 — 匹配(exact):kind=exec_command 取到 'v2.1.6',期望 'v2.1.6' |
| Tests | pytest exit=0
.. [100%]
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED apps/syncthing/tests/test_gui.py::test_health_endpoint
PASSED apps/syncthing/tests/test_gui.py::test_gui_renders
2 passed in 1.40s
|
| Container state | running |
| Duration | 60.6s(2026-10-06T12:21:18Z → 2026-10-06T12:22:18Z) |
Screenshots

gui · Web GUI / Web 管理界面
Application test output
pytest exit=0
.. [100%]
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED apps/syncthing/tests/test_gui.py::test_health_endpoint
PASSED apps/syncthing/tests/test_gui.py::test_gui_renders
2 passed in 1.40s
Container logs (tail)
--- compose up ---
syncthing Pulling
syncthing Pulled
Network cn-syncthing-d520a90a1c33_default Creating
Network cn-syncthing-d520a90a1c33_default Created
Container cn-syncthing-d520a90a1c33-syncthing-1 Creating
Container cn-syncthing-d520a90a1c33-syncthing-1 Created
Container cn-syncthing-d520a90a1c33-syncthing-1 Starting
Container cn-syncthing-d520a90a1c33-syncthing-1 Started
--- container logs ---
syncthing-1 | 2026-10-06 12:21:26 INF syncthing v2.1.6 "Hafnium Hornet" (go1.27.1 linux-amd64) docker@github.syncthing.net 2026-10-05 04:03:55 UTC [noupgrade] (log.pkg=main)
syncthing-1 | 2026-10-06 12:21:26 INF Generating key and certificate (cn=syncthing log.pkg=syncthing)
syncthing-1 | 2026-10-06 12:21:26 INF Default config saved; edit to taste (with Syncthing stopped) or use the GUI (path=/var/syncthing/config/config.xml log.pkg=syncthing)
syncthing-1 | 2026-10-06 12:21:26 INF Archiving a copy of old config file format (path=/var/syncthing/config/config.xml.v0 log.pkg=syncthing)
syncthing-1 | 2026-10-06 12:21:26 INF Calculated our device ID (device=FELQAZM-GMMLLLM-DBH37YE-N2UVBVA-VI2YCJ6-7AQRH2F-HINB5LW-ORODMQ5 log.pkg=syncthing)
syncthing-1 | 2026-10-06 12:21:26 INF Overall rate limit in use (send="is unlimited" recv="is unlimited" log.pkg=connections)
syncthing-1 | 2026-10-06 12:21:26 INF Using discovery mechanism (identity="global discovery server https://discovery-lookup.syncthing.net/v2/?noannounce" log.pkg=discover)
syncthing-1 | 2026-10-06 12:21:26 INF Using discovery mechanism (identity="global discovery server https://discovery-announce-v4.syncthing.net/v2/?nolookup" log.pkg=discover)
syncthing-1 | 2026-10-06 12:21:26 INF Using discovery mechanism (identity="global discovery server https://discovery-announce-v6.syncthing.net/v2/?nolookup" log.pkg=discover)
syncthing-1 | 2026-10-06 12:21:26 INF Using discovery mechanism (identity="IPv4 local broadcast discovery on port 21027" log.pkg=discover)
syncthing-1 | 2026-10-06 12:21:26 INF Relay listener starting (id=dynamic+https://relays.syncthing.net/endpoint log.pkg=connections)
syncthing-1 | 2026-10-06 12:21:26 INF Using discovery mechanism (identity="IPv6 local multicast discovery on address [ff12::8384]:21027" log.pkg=discover)
syncthing-1 | 2026-10-06 12:21:26 INF failed to sufficiently increase receive buffer size (was: 1024 kiB, wanted: 7168 kiB, got: 2048 kiB). See https://github.com/quic-go/quic-go/wiki/UDP-Buffer-Sizes for details.
syncthing-1 | 2026-10-06 12:21:26 INF TCP listener starting (address="[::]:22000" log.pkg=connections)
syncthing-1 | 2026-10-06 12:21:26 INF QUIC listener starting (address="[::]:22000" log.pkg=connections)
syncthing-1 | 2026-10-06 12:21:26 INF Creating new HTTPS certificate (log.pkg=api)
syncthing-1 | 2026-10-06 12:21:26 INF GUI and API listening (address="[::]:8384" log.pkg=api)
syncthing-1 | 2026-10-06 12:21:26 INF Access the GUI via the following URL: http://127.0.0.1:8384/ (log.pkg=api)
syncthing-1 | 2026-10-06 12:21:26 INF Loaded configuration (name=6e48708b0d54 log.pkg=syncthing)
syncthing-1 | 2026-10-06 12:21:27 INF Measured hashing performance (perf="1340.35 MB/s" log.pkg=syncthing)
syncthing-1 | 2026-10-06 12:21:41 INF Joined relay (uri=relay://209.205.228.77:22067 log.pkg=relay/client)
syncthing-1 | 2026-10-06 12:21:46 INF Detected NAT services (count=0 log.pkg=nat)
syncthing-1 | 2026-10-06 12:22:15 INF Detected NAT type (uri=quic://0.0.0.0:22000 type="Port restricted NAT" log.pkg=connections)
syncthing-1 | 2026-10-06 12:22:15 INF Resolved external address (uri=quic://0.0.0.0:22000 address=quic://172.183.94.130:49160 via=stun.voipbuster.com:3478 log.pkg=connections)
Raw manifest
{
"schema_version": "1.0",
"verification_id": "syncthing-v2.1.6-20261006-001",
"app": "syncthing",
"app_version": "v2.1.6",
"release": {
"source_repo": "syncthing/syncthing",
"source_revision": "4461a1ce354d3990660966ad70176e00246adb61",
"release_tag": "v2.1.6",
"upstream_tag": "v2.1.6",
"image_reference": "syncthing/syncthing:2.1.6"
},
"container": {
"image": "syncthing/syncthing:2.1.6",
"digest": "sha256:92e9a8bf559062b955ab45c7a60bc33d0b97ebdb1e5e86959b40714b482f740a",
"manifest_digest": "sha256:4d0281bdcb4ed9baf503d251d0544ddd856f49fce3f114056257ae172b7fb670",
"platform": "linux/amd64"
},
"platform": {
"platform_verification_id": "plat-us-east-1-x86_64-20261001-001",
"ami_id": "ami-0045d7fc2ad003464",
"base_ami_source": "public",
"source_ami_name": "ubuntu/images/hvm-ssd-gp3/ubuntu-noble-24.04-amd64-server-*",
"region": "us-east-1",
"architecture": "x86_64"
},
"config": {
"app_config_revision": "dcdd0afd2e161ebf000b280d36b11eae88ecc877",
"compose_revision": "f589ee5842975aff6bec4177ab751b2fc6651f92",
"tests_revision": "4136a9fc8de221b57a8878a17ae7ecd5de3f5cb1",
"template_revision": "c9350db2baff041f7af1051e500f8db9da8c749a"
},
"verification": {
"application": "passed",
"platform": "referenced",
"tests": "passed"
},
"checks": {
"compose_started": true,
"container_healthy": true,
"health_check_passed": true,
"tests_passed": true,
"screenshots_generated": true,
"screenshots_uploaded": false,
"report_uploaded": false,
"verification_manifest_uploaded": false,
"required_platform_contract_valid": true
},
"artifacts": {
"screenshots": [
{
"scenario": "gui",
"file": "gui.png",
"url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/candidates/syncthing/37462565387/1/syncthing-v2.1.6-20261006-001/screenshots/gui.png",
"caption": {
"en": "Web GUI",
"zh": "Web 管理界面"
}
}
],
"report_url": "",
"workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunch/actions/runs/37462565387"
},
"website": {
"app": "syncthing",
"app_version": "v2.1.6",
"verification_id": "syncthing-v2.1.6-20261006-001",
"verification_run_id": "37462565387",
"platform_verification_id": "plat-us-east-1-x86_64-20261001-001",
"ami_id": "ami-0045d7fc2ad003464",
"architecture": "x86_64",
"region": "us-east-1",
"display_name": {
"en": "Syncthing",
"zh": "Syncthing 文件同步"
},
"description": {
"en": "Continuous peer-to-peer file synchronization between devices",
"zh": "设备间点对点持续文件同步"
},
"category": "productivity",
"icon": "/icons/syncthing.svg",
"featured": true,
"tags": [
"sync",
"backup",
"p2p"
],
"features": [
{
"en": "Peer-to-peer sync, no cloud middleman",
"zh": "点对点同步,不经过云端"
},
{
"en": "Encrypted transport and versioned file history",
"zh": "加密传输与文件版本历史"
},
{
"en": "Runs on desktop, NAS, and servers with a web GUI",
"zh": "桌面、NAS 与服务器通吃,带 Web 管理界面"
}
],
"health": "passed",
"status": "pending",
"verified_at": "2026-10-06T12:22:19Z",
"report_url": "",
"workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunch/actions/runs/37462565387",
"screenshots_order": [
"gui"
],
"deploy": {
"documentation_url": "https://docs.syncthing.net",
"regions": [
"us-east-1"
],
"instance_type": "t3.small",
"data_volume_gb": 30,
"container_port": 8384,
"health_check_path": "/rest/noauth/health",
"docker_image": "syncthing/syncthing:2.1.6",
"extra_environment": [],
"template": {
"url": "https://corenovalaunch-templates.s3.us-east-1.amazonaws.com/corenova-one-click.template.yaml",
"revision": "c9350db2baff041f7af1051e500f8db9da8c749a"
},
"post_deploy": {
"admin_path": "/",
"admin_setup": {
"en": "The template restricts the GUI to localhost by default. Use SSM port forwarding to configure GUI access protection in Settings > GUI before widening AllowedWebCidr, and enable HTTPS for direct remote access. There are no preset accounts.",
"zh": "模板默认仅允许本机访问 GUI。通过 SSM 端口转发进入设置 > GUI 完成访问保护后,再扩大 AllowedWebCidr;远程直连还需启用 HTTPS。没有预置账号。"
},
"notes": [
{
"en": "Sync folders live on a retained volume (/var/syncthing). It keeps billing after stack deletion; snapshot it, then delete the volume when no longer needed.",
"zh": "同步文件夹保存在保留数据卷(/var/syncthing)中。删除栈后该卷仍会计费;请先创建快照,不再需要时再删除卷。"
},
{
"en": "Direct device sync is opt-in: set ExtraTcpPort=22000, ExtraUdpPort=22000 and ExtraPortIngressCidr to the peer range. This publishes both Docker ports and adds matching security-group rules. GUI port 8384 stays loopback-only. UDP 21027 LAN discovery is not exposed; configure peer addresses or use upstream discovery/relay.",
"zh": "设备直连同步需显式设置 ExtraTcpPort=22000、ExtraUdpPort=22000,并将 ExtraPortIngressCidr 设为对端网段;模板同时发布 Docker 端口并添加对应安全组规则。GUI 的 8384 仍仅绑定本机。不会暴露 UDP 21027 局域网发现,请配置对端地址或使用上游发现/中继。"
}
]
},
"cost_estimate": {
"monthly_usd": 23,
"note": {
"en": "Verified default in us-east-1: ~$15.2 t3.small + ~$4 for the 20 GB root and 30 GB data gp3 volumes + $3.65 public IPv4 per month. Transfer traffic is extra.",
"zh": "us-east-1 已验证默认配置:t3.small 约 $15.2/月 + 20GB 系统盘与 30GB 数据盘 gp3 约 $4/月 + 公网 IPv4 约 $3.65/月;同步流量另计。"
}
},
"data_path": "/var/syncthing",
"hold": {
"reason": {
"en": "Deployment paused: transfer ports and protected management access are not configured.",
"zh": "暂停部署:尚未配置传输端口和管理界面访问保护。"
}
},
"production_contract": {
"checks": [
"admin_auth",
"data_dir_write"
]
}
},
"release": {
"type": "bug_fix",
"previous_version": "v2.1.5",
"type_evidence": "rule3: patch-only bump v2.1.5 -> (2, 1, 6)"
},
"screenshots": [
{
"scenario": "gui",
"file": "gui.png",
"url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/candidates/syncthing/37462565387/1/syncthing-v2.1.6-20261006-001/screenshots/gui.png",
"caption": {
"en": "Web GUI",
"zh": "Web 管理界面"
}
}
]
},
"verification_run_id": "37462565387",
"verified_at": "2026-10-06T12:22:19Z"
}