Verification Report · sftpgo v2.7.6

NOT PUBLISHED   sftpgo-v2.7.6-20260919-001   verified_at 2026-09-19T09:52:35Z

Immutable inputs

App versionv2.7.6 ← release tag v2.7.6 · source 62ae9ba3957e
Image (exact tag)drakkan/sftpgo:v2.7.6
Image digest (linux/amd64)sha256:2198dbcc3274522c9ead2a7f869a6c000ff8ed67cb51d0a52f64b78c9dcc7c96
Index digestsha256:1edd28d80de2a008863fbfc58c8ff7db47b1b410bae48d4e6076192337809b11
Pulled asdrakkan/sftpgo:v2.7.6@sha256:2198dbcc3274522c9ead2a7f869a6c000ff8ed67cb51d0a52f64b78c9dcc7c96 via registry-1.docker.io
Platform contractami-025d99823a4caad37 · us-east-1/x86_64 · source=public (plat-us-east-1-x86_64-20260919-001)
Config revisionsapp 71f701eb8dfe · compose 639e291dc63e
Release typebug_fix — rule3: patch-only bump v2.7.5 -> (2, 7, 6)

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 2.7.6 — 匹配(exact):kind=exec_command 取到 '2.7.6',期望 '2.7.6'
Testspytest exit=0 . [100%] ==================================== PASSES ==================================== =========================== short test summary info ============================ PASSED apps/sftpgo/tests/test_smoke.py::test_health_and_setup_page 1 passed in 0.21s
Container staterunning
Duration22.1s(2026-09-19T09:52:13Z → 2026-09-19T09:52:34Z)

Screenshots

setup
setup · Administrator setup / 管理员设置

Application test output

pytest exit=0
.                                                                        [100%]
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED apps/sftpgo/tests/test_smoke.py::test_health_and_setup_page
1 passed in 0.21s

Container logs (tail)

"python-requests/2.34.2","resp_status":200,"resp_size":30903,"elapsed_ms":0}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:32.891","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59330","request_id":"d05720d43b9a/SejBdXGPUv-000005","uri":"http://localhost:8080/","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":302,"resp_size":39,"elapsed_ms":0}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:32.894","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59330","request_id":"d05720d43b9a/SejBdXGPUv-000006","uri":"http://localhost:8080/web/admin/setup","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":30903,"elapsed_ms":0}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:32.909","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59360","request_id":"d05720d43b9a/SejBdXGPUv-000009","uri":"http://localhost:8080/static/img/logo.png","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":7859,"elapsed_ms":2}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:32.914","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59330","request_id":"d05720d43b9a/SejBdXGPUv-000007","uri":"http://localhost:8080/static/assets/plugins/global/plugins.bundle.css","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":43169,"elapsed_ms":8}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:32.922","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59346","request_id":"d05720d43b9a/SejBdXGPUv-000008","uri":"http://localhost:8080/static/assets/css/style.bundle.css","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":127263,"elapsed_ms":15}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:32.941","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59346","request_id":"d05720d43b9a/SejBdXGPUv-000011","uri":"http://localhost:8080/static/assets/js/scripts.bundle.js","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":22162,"elapsed_ms":2}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:32.949","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59362","request_id":"d05720d43b9a/SejBdXGPUv-000010","uri":"http://localhost:8080/static/assets/plugins/global/plugins.bundle.js","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":348364,"elapsed_ms":41}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.223","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59360","request_id":"d05720d43b9a/SejBdXGPUv-000013","uri":"http://localhost:8080/static/vendor/i18next/jquery-i18next.min.js","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":857,"elapsed_ms":0}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.225","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59330","request_id":"d05720d43b9a/SejBdXGPUv-000012","uri":"http://localhost:8080/static/vendor/i18next/i18nextBrowserLanguageDetector.min.js","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":2471,"elapsed_ms":3}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.227","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59366","request_id":"d05720d43b9a/SejBdXGPUv-000016","uri":"http://localhost:8080/static/vendor/i18next/i18nextLocalStorageBackend.min.js","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":1358,"elapsed_ms":0}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.227","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59362","request_id":"d05720d43b9a/SejBdXGPUv-000015","uri":"http://localhost:8080/static/vendor/i18next/i18nextHttpBackend.min.js","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":4661,"elapsed_ms":1}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.227","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59378","request_id":"d05720d43b9a/SejBdXGPUv-000017","uri":"http://localhost:8080/static/vendor/i18next/i18nextChainedBackend.min.js","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":1840,"elapsed_ms":0}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.229","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59362","request_id":"d05720d43b9a/SejBdXGPUv-000018","uri":"http://localhost:8080/static/vendor/fonts/inter/v12/UcC73FwrK3iLTeHuS_fvQtMwCp50KnMa1ZL7.woff2","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":37924,"elapsed_ms":0}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.230","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59346","request_id":"d05720d43b9a/SejBdXGPUv-000014","uri":"http://localhost:8080/static/vendor/i18next/i18next.min.js","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":13493,"elapsed_ms":6}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.313","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59346","request_id":"d05720d43b9a/SejBdXGPUv-000019","uri":"http://localhost:8080/static/locales/en/translation.json?_=1789811553306","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":17831,"elapsed_ms":1}
sftpgo-1  | {"level":"debug","time":"2026-09-19T09:52:33.333","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:59346","request_id":"d05720d43b9a/SejBdXGPUv-000020","uri":"http://localhost:8080/static/assets/plugins/global/fonts/keenicons/keenicons-duotone.ttf?eut7fk","user_agent":"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) HeadlessChrome/153.0.8010.12 Safari/537.36","resp_status":200,"resp_size":187500,"elapsed_ms":0}

Raw manifest

{
  "schema_version": "1.0",
  "verification_id": "sftpgo-v2.7.6-20260919-001",
  "app": "sftpgo",
  "app_version": "v2.7.6",
  "release": {
    "source_repo": "drakkan/sftpgo",
    "source_revision": "62ae9ba3957e9ed52b44a4f885e805e2d7b35972",
    "release_tag": "v2.7.6",
    "upstream_tag": "v2.7.6",
    "image_reference": "drakkan/sftpgo:v2.7.6"
  },
  "container": {
    "image": "drakkan/sftpgo:v2.7.6",
    "digest": "sha256:2198dbcc3274522c9ead2a7f869a6c000ff8ed67cb51d0a52f64b78c9dcc7c96",
    "manifest_digest": "sha256:1edd28d80de2a008863fbfc58c8ff7db47b1b410bae48d4e6076192337809b11",
    "platform": "linux/amd64"
  },
  "platform": {
    "platform_verification_id": "plat-us-east-1-x86_64-20260919-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": "71f701eb8dfe24584eaa97c09ad01371d559112d",
    "compose_revision": "639e291dc63e7d5384c9b48993ab761fec63baa1",
    "tests_revision": "fda7146f7edb1f7d74ea7f6b1fa09cd99bc4ea7e",
    "template_revision": "f14bc41776ef92827a97184784dc5519b9c576ac"
  },
  "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": "setup",
        "file": "setup.png",
        "url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/sftpgo/v2.7.6/setup.png",
        "caption": {
          "en": "Administrator setup",
          "zh": "管理员设置"
        }
      }
    ],
    "report_url": "",
    "workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunch/actions/runs/35435835368"
  },
  "website": {
    "app": "sftpgo",
    "app_version": "v2.7.6",
    "verification_id": "sftpgo-v2.7.6-20260919-001",
    "verification_run_id": "35435835368",
    "platform_verification_id": "plat-us-east-1-x86_64-20260919-001",
    "ami_id": "ami-025d99823a4caad37",
    "architecture": "x86_64",
    "region": "us-east-1",
    "display_name": {
      "en": "SFTPGo",
      "zh": "SFTPGo 文件传输"
    },
    "description": {
      "en": "Managed file transfer server with SFTP, HTTP, FTP and WebDAV",
      "zh": "支持 SFTP、HTTP、FTP 与 WebDAV 的可管理文件传输服务器"
    },
    "category": "productivity",
    "icon": "/icons/sftpgo.svg",
    "featured": false,
    "tags": [
      "sftp",
      "webdav",
      "file-transfer"
    ],
    "features": [
      {
        "en": "Manage users, quotas and virtual folders from a web UI",
        "zh": "通过 Web UI 管理用户、配额与虚拟文件夹"
      },
      {
        "en": "Supports SFTP, HTTP, FTP and WebDAV storage backends",
        "zh": "支持 SFTP、HTTP、FTP 和 WebDAV 存储后端"
      }
    ],
    "health": "passed",
    "status": "pending",
    "verified_at": "2026-09-19T09:52:35Z",
    "report_url": "",
    "workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunch/actions/runs/35435835368",
    "screenshots_order": [
      "setup"
    ],
    "deploy": {
      "documentation_url": "https://docs.sftpgo.com/",
      "regions": [
        "us-east-1"
      ],
      "instance_type": "t3.small",
      "data_volume_gb": 30,
      "container_port": 8080,
      "health_check_path": "/healthz",
      "docker_image": "drakkan/sftpgo:v2.7.6",
      "extra_environment": [],
      "template": {
        "url": "https://corenovalaunch-templates.s3.us-east-1.amazonaws.com/corenova-one-click.template.yaml",
        "revision": "f14bc41776ef92827a97184784dc5519b9c576ac"
      },
      "post_deploy": {
        "admin_path": "/web/admin",
        "admin_setup": {
          "en": "First visit redirects to the administrator setup screen. Place each user's home inside /var/lib/sftpgo/data so transferred files remain on the retained volume.",
          "zh": "首次访问会跳转到管理员设置页。请将各用户主目录放在 /var/lib/sftpgo/data 下,使传输文件留在持久卷。"
        },
        "notes": [
          {
            "en": "This verified shape exposes and tests the HTTP administration plane; additional transfer ports require separate security-group support.",
            "zh": "本验证形态只暴露并测试 HTTP 管理面;其他传输端口需要额外安全组支持。"
          }
        ]
      },
      "cost_estimate": {
        "monthly_usd": 23,
        "note": {
          "en": "Verified default in us-east-1: t3.small, 20 GB root plus 30 GB data gp3, and public IPv4; transfer and snapshots are extra.",
          "zh": "us-east-1 已验证默认配置:t3.small、20GB 系统盘、30GB 数据盘与公网 IPv4;流量和快照另计。"
        }
      },
      "data_path": "/var/lib/sftpgo"
    },
    "release": {
      "type": "bug_fix",
      "previous_version": "v2.7.5",
      "type_evidence": "rule3: patch-only bump v2.7.5 -> (2, 7, 6)"
    },
    "screenshots": [
      {
        "scenario": "setup",
        "file": "setup.png",
        "url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/sftpgo/v2.7.6/setup.png",
        "caption": {
          "en": "Administrator setup",
          "zh": "管理员设置"
        }
      }
    ]
  },
  "verification_run_id": "35435835368",
  "verified_at": "2026-09-19T09:52:35Z"
}