Verification Report · syncthing v2.1.5

NOT PUBLISHED   syncthing-v2.1.5-20260911-001   verified_at 2026-09-11T10:51:56Z

Immutable inputs

App versionv2.1.5 ← release tag v2.1.5 · source 2ca95cf14981
Image (exact tag)syncthing/syncthing:2.1.5
Image digest (linux/amd64)sha256:84dcf202b0890f795c4c3899d35a5ac7369bb8b72b5c270078c50247da4ddeef
Index digestsha256:397aa00b92b48d65540ea3ae3cbf271b87bdccbe07a0b7bd7d2debc3a7b29138
Pulled assyncthing/syncthing:2.1.5@sha256:84dcf202b0890f795c4c3899d35a5ac7369bb8b72b5c270078c50247da4ddeef via registry-1.docker.io
Platform contractami-025d99823a4caad37 · us-east-1/x86_64 · source=public (plat-us-east-1-x86_64-20260909-001)
Config revisionsapp 67bb960be09a · compose 89bee7986dce
Release typeinitial — rule1: no published versions recorded for this app

Publish gate

CheckFieldResult
Compose startedchecks.compose_startedPassed
Container healthychecks.container_healthyPassed
Health check passedchecks.health_check_passedPassed
Application testschecks.tests_passedPassed
Screenshots capturedchecks.screenshots_generatedPassed
Screenshots publishedchecks.screenshots_uploadedFailed
Report publishedchecks.report_uploadedFailed
Manifest publishedchecks.verification_manifest_uploadedFailed
Platform contract validchecks.required_platform_contract_validPassed

Evidence

Health probeHTTP 200 — ready
Version assertionTrue actual v2.1.5 — 匹配(exact):kind=exec_command 取到 'v2.1.5',期望 'v2.1.5'
Testspytest 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.46s
Container staterunning
Duration56.9s(2026-09-11T10:50:59Z → 2026-09-11T10:51:55Z)

Screenshots

gui
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.46s

Container logs (tail)

--- compose up ---
 syncthing Pulling 
 syncthing Pulled 
 Network cn-syncthing_default  Creating
 Network cn-syncthing_default  Created
 Container cn-syncthing-syncthing-1  Creating
 Container cn-syncthing-syncthing-1  Created
 Container cn-syncthing-syncthing-1  Starting
 Container cn-syncthing-syncthing-1  Started

--- container logs ---
syncthing-1  | 2026-09-11 10:51:03 INF syncthing v2.1.5 "Hafnium Hornet" (go1.27.1 linux-amd64) docker@github.syncthing.net 2026-09-08 06:57:55 UTC [noupgrade] (log.pkg=main)
syncthing-1  | 2026-09-11 10:51:03 INF Generating key and certificate (cn=syncthing log.pkg=syncthing)
syncthing-1  | 2026-09-11 10:51:03 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-09-11 10:51:03 INF Archiving a copy of old config file format (path=/var/syncthing/config/config.xml.v0 log.pkg=syncthing)
syncthing-1  | 2026-09-11 10:51:03 INF Calculated our device ID (device=MGI6YMV-MQ3E5NT-WLG4PSG-XPK7LEQ-YG5LTAM-HPS5UBB-4FOX5RT-WS5MUQL log.pkg=syncthing)
syncthing-1  | 2026-09-11 10:51:03 INF Overall rate limit in use (send="is unlimited" recv="is unlimited" log.pkg=connections)
syncthing-1  | 2026-09-11 10:51:03 INF Using discovery mechanism (identity="global discovery server https://discovery-lookup.syncthing.net/v2/?noannounce" log.pkg=discover)
syncthing-1  | 2026-09-11 10:51:03 INF Using discovery mechanism (identity="global discovery server https://discovery-announce-v4.syncthing.net/v2/?nolookup" log.pkg=discover)
syncthing-1  | 2026-09-11 10:51:03 INF Using discovery mechanism (identity="global discovery server https://discovery-announce-v6.syncthing.net/v2/?nolookup" log.pkg=discover)
syncthing-1  | 2026-09-11 10:51:03 INF Using discovery mechanism (identity="IPv4 local broadcast discovery on port 21027" log.pkg=discover)
syncthing-1  | 2026-09-11 10:51:03 INF Using discovery mechanism (identity="IPv6 local multicast discovery on address [ff12::8384]:21027" log.pkg=discover)
syncthing-1  | 2026-09-11 10:51:03 INF TCP listener starting (address="[::]:22000" log.pkg=connections)
syncthing-1  | 2026-09-11 10:51:03 INF Creating new HTTPS certificate (log.pkg=api)
syncthing-1  | 2026-09-11 10:51:03 INF Relay listener starting (id=dynamic+https://relays.syncthing.net/endpoint log.pkg=connections)
syncthing-1  | 2026-09-11 10:51:03 INF GUI and API listening (address="[::]:8384" log.pkg=api)
syncthing-1  | 2026-09-11 10:51:03 INF Access the GUI via the following URL: http://127.0.0.1:8384/ (log.pkg=api)
syncthing-1  | 2026-09-11 10:51:03 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-09-11 10:51:03 INF QUIC listener starting (address="[::]:22000" log.pkg=connections)
syncthing-1  | 2026-09-11 10:51:03 INF Loaded configuration (name=728f333d2a7a log.pkg=syncthing)
syncthing-1  | 2026-09-11 10:51:03 WRN Syncthing should not run as a privileged or system user; please consider using a normal user account (log.pkg=syncthing)
syncthing-1  | 2026-09-11 10:51:04 INF Measured hashing performance (perf="1439.11 MB/s" log.pkg=syncthing)
syncthing-1  | 2026-09-11 10:51:17 INF Joined relay (uri=relay://166.88.160.157:22067 log.pkg=relay/client)
syncthing-1  | 2026-09-11 10:51:24 INF Detected NAT services (count=0 log.pkg=nat)
syncthing-1  | 2026-09-11 10:51:33 INF Detected NAT type (uri=quic://0.0.0.0:22000 type="Port restricted NAT" log.pkg=connections)
syncthing-1  | 2026-09-11 10:51:33 INF Resolved external address (uri=quic://0.0.0.0:22000 address=quic://74.235.117.99:30912 via=stun.miwifi.com:3478 log.pkg=connections)

Raw manifest

{
  "schema_version": "1.0",
  "verification_id": "syncthing-v2.1.5-20260911-001",
  "app": "syncthing",
  "app_version": "v2.1.5",
  "release": {
    "source_repo": "syncthing/syncthing",
    "source_revision": "2ca95cf1498104113fdfde46df4107f2450a0f71",
    "release_tag": "v2.1.5",
    "upstream_tag": "v2.1.5",
    "image_reference": "syncthing/syncthing:2.1.5"
  },
  "container": {
    "image": "syncthing/syncthing:2.1.5",
    "digest": "sha256:84dcf202b0890f795c4c3899d35a5ac7369bb8b72b5c270078c50247da4ddeef",
    "manifest_digest": "sha256:397aa00b92b48d65540ea3ae3cbf271b87bdccbe07a0b7bd7d2debc3a7b29138",
    "platform": "linux/amd64"
  },
  "platform": {
    "platform_verification_id": "plat-us-east-1-x86_64-20260909-001",
    "ami_id": "ami-025d99823a4caad37",
    "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": "67bb960be09a3c4ce210e0397cd0fdc134cd08c3",
    "compose_revision": "89bee7986dce9e974489260cd6ce6eb54ba5f851",
    "tests_revision": "4136a9fc8de221b57a8878a17ae7ecd5de3f5cb1"
  },
  "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/screenshots/syncthing/v2.1.5/gui.png",
        "caption": {
          "en": "Web GUI",
          "zh": "Web 管理界面"
        }
      }
    ],
    "report_url": "",
    "workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunchVerify/actions/runs/34591144825"
  },
  "website": {
    "app": "syncthing",
    "app_version": "v2.1.5",
    "verification_id": "syncthing-v2.1.5-20260911-001",
    "verification_run_id": "34591144825",
    "platform_verification_id": "plat-us-east-1-x86_64-20260909-001",
    "ami_id": "ami-025d99823a4caad37",
    "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-09-11T10:51:56Z",
    "report_url": "",
    "workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunchVerify/actions/runs/34591144825",
    "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.5",
      "extra_environment": [],
      "post_deploy": {
        "admin_path": "/",
        "admin_setup": {
          "en": "The web GUI is open at / for local use; before exposing it publicly, configure GUI access protection per the upstream docs (Settings > GUI). There are no preset accounts.",
          "zh": "Web 管理界面在 / 开放(本地访问免认证);对外公开前请按上游文档在设置 > GUI 中完成访问保护配置。没有预置账号。"
        },
        "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": "Default container ports 22000/tcp+udp and 21027/udp are used for device sync (LAN discovery); the CFN security group opens 22000 for cross-device sync.",
            "zh": "容器默认的 22000/tcp+udp 与 21027/udp 用于设备间同步(局域网发现);CFN 安全组已放行 22000 以支持跨设备同步。"
          }
        ]
      },
      "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"
    },
    "release": {
      "type": "initial",
      "previous_version": "",
      "type_evidence": "rule1: no published versions recorded for this app"
    },
    "screenshots": [
      {
        "scenario": "gui",
        "file": "gui.png",
        "url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/syncthing/v2.1.5/gui.png",
        "caption": {
          "en": "Web GUI",
          "zh": "Web 管理界面"
        }
      }
    ]
  },
  "verification_run_id": "34591144825",
  "verified_at": "2026-09-11T10:51:56Z"
}