Verification Report · sftpgo v2.7.5

NOT PUBLISHED   sftpgo-v2.7.5-20260916-001   verified_at 2026-09-16T00:14:28Z

Immutable inputs

App versionv2.7.5 ← release tag v2.7.5 · source 9888a3d169ae
Image (exact tag)drakkan/sftpgo:v2.7.5
Image digest (linux/amd64)sha256:d819bcea946470940416b63604f820aee965a02127b07126785e279fa311258e
Index digestsha256:9011fe608d336d3daf6ed6224b16fd40443aab8f3335e0b20853d6a539c58738
Pulled asdrakkan/sftpgo:v2.7.5@sha256:d819bcea946470940416b63604f820aee965a02127b07126785e279fa311258e 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 71f701eb8dfe · compose 639e291dc63e
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 2.7.5 — 匹配(exact):kind=exec_command 取到 '2.7.5',期望 '2.7.5'
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.10s
Container staterunning
Duration12.0s(2026-09-16T00:14:16Z → 2026-09-16T00:14:28Z)

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.10s

Container logs (tail)

python-requests/2.34.2","resp_status":200,"resp_size":30903,"elapsed_ms":1}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.552","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52022","request_id":"f4194531b42a/ZlB8QFg9Js-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-16T00:14:26.555","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52022","request_id":"f4194531b42a/ZlB8QFg9Js-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":1}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.579","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52046","request_id":"f4194531b42a/ZlB8QFg9Js-000008","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":7}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.584","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52022","request_id":"f4194531b42a/ZlB8QFg9Js-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":12}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.593","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52046","request_id":"f4194531b42a/ZlB8QFg9Js-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":7}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.613","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52032","request_id":"f4194531b42a/ZlB8QFg9Js-000009","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":41}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.620","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52046","request_id":"f4194531b42a/ZlB8QFg9Js-000012","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":2}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.645","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52062","request_id":"f4194531b42a/ZlB8QFg9Js-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":72}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.654","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52062","request_id":"f4194531b42a/ZlB8QFg9Js-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-16T00:14:26.657","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52046","request_id":"f4194531b42a/ZlB8QFg9Js-000014","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":0}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.659","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52022","request_id":"f4194531b42a/ZlB8QFg9Js-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-16T00:14:26.660","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52032","request_id":"f4194531b42a/ZlB8QFg9Js-000015","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-16T00:14:26.662","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52072","request_id":"f4194531b42a/ZlB8QFg9Js-000017","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-16T00:14:26.685","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52072","request_id":"f4194531b42a/ZlB8QFg9Js-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-16T00:14:26.799","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52072","request_id":"f4194531b42a/ZlB8QFg9Js-000019","uri":"http://localhost:8080/static/locales/en/translation.json?_=1789517666788","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":17863,"elapsed_ms":2}
sftpgo-1  | {"level":"debug","time":"2026-09-16T00:14:26.827","sender":"httpd","cipher_suite":"","local_addr":"172.18.0.2:8080","method":"GET","proto":"HTTP/1.1","remote_addr":"172.18.0.1:52072","request_id":"f4194531b42a/ZlB8QFg9Js-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.5-20260916-001",
  "app": "sftpgo",
  "app_version": "v2.7.5",
  "release": {
    "source_repo": "drakkan/sftpgo",
    "source_revision": "9888a3d169aed9011ae6e4f7a97ae735c1643068",
    "release_tag": "v2.7.5",
    "upstream_tag": "v2.7.5",
    "image_reference": "drakkan/sftpgo:v2.7.5"
  },
  "container": {
    "image": "drakkan/sftpgo:v2.7.5",
    "digest": "sha256:d819bcea946470940416b63604f820aee965a02127b07126785e279fa311258e",
    "manifest_digest": "sha256:9011fe608d336d3daf6ed6224b16fd40443aab8f3335e0b20853d6a539c58738",
    "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": "71f701eb8dfe24584eaa97c09ad01371d559112d",
    "compose_revision": "639e291dc63e7d5384c9b48993ab761fec63baa1",
    "tests_revision": "fda7146f7edb1f7d74ea7f6b1fa09cd99bc4ea7e"
  },
  "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.5/setup.png",
        "caption": {
          "en": "Administrator setup",
          "zh": "管理员设置"
        }
      }
    ],
    "report_url": "",
    "workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunchVerify/actions/runs/35039095292"
  },
  "website": {
    "app": "sftpgo",
    "app_version": "v2.7.5",
    "verification_id": "sftpgo-v2.7.5-20260916-001",
    "verification_run_id": "35039095292",
    "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": "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-16T00:14:28Z",
    "report_url": "",
    "workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunchVerify/actions/runs/35039095292",
    "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.5",
      "extra_environment": [],
      "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": "initial",
      "previous_version": "",
      "type_evidence": "rule1: no published versions recorded for this app"
    },
    "screenshots": [
      {
        "scenario": "setup",
        "file": "setup.png",
        "url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/sftpgo/v2.7.5/setup.png",
        "caption": {
          "en": "Administrator setup",
          "zh": "管理员设置"
        }
      }
    ]
  },
  "verification_run_id": "35039095292",
  "verified_at": "2026-09-16T00:14:28Z"
}