Verification Report · portainer 2.45.1

NOT PUBLISHED   portainer-2.45.1-20260919-001   verified_at 2026-09-19T03:52:36Z

Immutable inputs

App version2.45.1 ← release tag 2.45.1 · source bcfb8d2799c9
Image (exact tag)portainer/portainer-ce:2.45.1
Image digest (linux/amd64)sha256:93f35e85d0130f67664194ce9dce7937d8f5bf815771f26657ed07642a3f7e23
Index digestsha256:4d616db18cfeb5dd41a69c0958bc825c84483ea9cde1106eb82a5d26f3bd8b0e
Pulled asportainer/portainer-ce:2.45.1@sha256:93f35e85d0130f67664194ce9dce7937d8f5bf815771f26657ed07642a3f7e23 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 edf1f5922c79 · compose a0ff56daa940
Release typesecurity_update — rule2: keyword 'CVE-2026-56865' in upstream release notes

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.45.1 — 匹配(exact):kind=api_json_path 取到 '2.45.1',期望 '2.45.1'
Testspytest exit=0 .. [100%] ==================================== PASSES ==================================== =========================== short test summary info ============================ PASSED apps/portainer/tests/test_setup.py::test_status_endpoint PASSED apps/portainer/tests/test_setup.py::test_admin_setup_renders 2 passed in 1.98s
Container staterunning
Duration10.8s(2026-09-19T03:52:25Z → 2026-09-19T03:52:36Z)

Screenshots

setup
setup · First-run admin setup / 首次运行管理员设置

Application test output

pytest exit=0
..                                                                       [100%]
==================================== PASSES ====================================
=========================== short test summary info ============================
PASSED apps/portainer/tests/test_setup.py::test_status_endpoint
PASSED apps/portainer/tests/test_setup.py::test_admin_setup_renders
2 passed in 1.98s

Container logs (tail)

--- compose up ---
 portainer Pulling 
 portainer Pulled 
 Network cn-portainer_default  Creating
 Network cn-portainer_default  Created
 Container cn-portainer-portainer-1  Creating
 Container cn-portainer-portainer-1  Created
 Container cn-portainer-portainer-1  Starting
 Container cn-portainer-portainer-1  Started

--- container logs ---
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/cmd/portainer/main.go:357 > encryption key file not present | filename=/run/secrets/portainer
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/cmd/portainer/main.go:395 > proceeding without encryption key |
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/database/boltdb/db.go:163 > loading PortainerDB | filename=portainer.db
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/internal/ssl/ssl.go:79 > no cert files found, generating self signed SSL certificates |
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/pkg/libhelm/cache/manager.go:30 > Helm registry cache initialized | user_session_timeout=8h
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/http/security/setuptoken/setuptoken.go:40 > 
portainer-1  | 
portainer-1  | ==========================
portainer-1  | 
portainer-1  | setup_token=5b6cc354d7a4714eaa6e5a15b98efc67e3f79237ec8ae37aa5570d8808849738
portainer-1  | 
portainer-1  | Paste it into the setup screen, or send it in the X-Setup-Token header.
portainer-1  | Start with --no-setup-token to disable.
portainer-1  | 
portainer-1  | ========================== |
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/chisel/service.go:229 > generated a new Chisel private key file | private-key=/data/chisel/private-key.pem
portainer-1  | 2026/09/19 03:52:31 server: Reverse tunnelling enabled
portainer-1  | 2026/09/19 03:52:31 server: Fingerprint u1Gu0thStaxd3ApuL2Zr4+ULT02x0zttpOLzklRJJmw=
portainer-1  | 2026/09/19 03:52:31 server: Listening on http://0.0.0.0:8000
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/cmd/portainer/main.go:704 > starting Portainer | build_number=39 go_version=go1.26.6 image_tag=2.45.1-linux-amd64 nodejs_version=v22.23.2 pnpm_version=10.27.0 version=2.45.1 webpack_version=5.107.2
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/http/server.go:371 > starting HTTPS server | bind_address=:9443
portainer-1  | 2026/09/19 03:52AM INF github.com/portainer/portainer/api/http/server.go:355 > starting HTTP server | bind_address=:9000
portainer-1  | 2026/09/19 03:52AM WRN github.com/portainer/portainer/api/http/handler/system/status.go:43 > The /status endpoint is deprecated and will be removed in a future version of Portainer. Please use the /system/status endpoint instead. |
portainer-1  | 2026/09/19 03:52AM WRN github.com/portainer/portainer/api/http/handler/system/status.go:43 > The /status endpoint is deprecated and will be removed in a future version of Portainer. Please use the /system/status endpoint instead. |
portainer-1  | 2026/09/19 03:52AM WRN github.com/portainer/portainer/api/http/handler/system/status.go:43 > The /status endpoint is deprecated and will be removed in a future version of Portainer. Please use the /system/status endpoint instead. |

Raw manifest

{
  "schema_version": "1.0",
  "verification_id": "portainer-2.45.1-20260919-001",
  "app": "portainer",
  "app_version": "2.45.1",
  "release": {
    "source_repo": "portainer/portainer",
    "source_revision": "bcfb8d2799c92b22c13c1b0df33912c61bd9501e",
    "release_tag": "2.45.1",
    "upstream_tag": "2.45.1",
    "image_reference": "portainer/portainer-ce:2.45.1"
  },
  "container": {
    "image": "portainer/portainer-ce:2.45.1",
    "digest": "sha256:93f35e85d0130f67664194ce9dce7937d8f5bf815771f26657ed07642a3f7e23",
    "manifest_digest": "sha256:4d616db18cfeb5dd41a69c0958bc825c84483ea9cde1106eb82a5d26f3bd8b0e",
    "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": "edf1f5922c79b3129f2bafff188ff55d9f993467",
    "compose_revision": "a0ff56daa940a87237b71a4b01396ea869a44093",
    "tests_revision": "4136a9fc8de221b57a8878a17ae7ecd5de3f5cb1",
    "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/portainer/2.45.1/setup.png",
        "caption": {
          "en": "First-run admin setup",
          "zh": "首次运行管理员设置"
        }
      }
    ],
    "report_url": "",
    "workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunch/actions/runs/35419742107"
  },
  "website": {
    "app": "portainer",
    "app_version": "2.45.1",
    "verification_id": "portainer-2.45.1-20260919-001",
    "verification_run_id": "35419742107",
    "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": "Portainer",
      "zh": "Portainer 容器管理"
    },
    "description": {
      "en": "Lightweight container management UI for Docker environments",
      "zh": "轻量级 Docker 容器可视化管理面板"
    },
    "category": "devops",
    "icon": "/icons/portainer.svg",
    "featured": true,
    "tags": [
      "docker",
      "containers",
      "admin-ui"
    ],
    "features": [
      {
        "en": "Web UI to manage containers, images, volumes and networks",
        "zh": "网页管理容器、镜像、卷与网络"
      },
      {
        "en": "Template-based one-click app deployment",
        "zh": "基于模板的一键应用部署"
      },
      {
        "en": "User & team management with access control",
        "zh": "用户与团队管理、访问控制"
      }
    ],
    "health": "passed",
    "status": "pending",
    "verified_at": "2026-09-19T03:52:36Z",
    "report_url": "",
    "workflow_run_url": "https://github.com/CoreNovaLabs/CoreNovaLaunch/actions/runs/35419742107",
    "screenshots_order": [
      "setup"
    ],
    "deploy": {
      "documentation_url": "https://docs.portainer.io",
      "regions": [
        "us-east-1"
      ],
      "instance_type": "t3.small",
      "data_volume_gb": 30,
      "container_port": 9000,
      "health_check_path": "/api/status",
      "docker_image": "portainer/portainer-ce:2.45.1",
      "extra_environment": [],
      "template": {
        "url": "https://corenovalaunch-templates.s3.us-east-1.amazonaws.com/corenova-one-click.template.yaml",
        "revision": "f14bc41776ef92827a97184784dc5519b9c576ac"
      },
      "post_deploy": {
        "admin_path": "/#!/init/admin",
        "admin_setup": {
          "en": "First visit opens the admin account creation page: follow the on-screen form to set up the admin account (username fixed to 'admin'). No preset access.",
          "zh": "首次访问进入管理员创建页面:按页面向导完成 admin 账户的初始设置(用户名固定为 admin);没有预置账号。"
        },
        "notes": [
          {
            "en": "The default deployment does not mount the host Docker socket. To manage this host, explicitly enable DockerSocketAccess in CloudFormation; this grants host-root-equivalent control. Keep AllowedWebCidr restricted, complete admin setup through SSM forwarding, and configure HTTPS before remote access. Remote environments require separate setup.",
            "zh": "默认部署不挂载宿主机 Docker socket。管理本机需在 CloudFormation 显式启用 DockerSocketAccess,这相当于授予宿主机 root 控制权。保持 AllowedWebCidr 受限,通过 SSM 转发完成管理员初始化,并在远程访问前配置 HTTPS。远程环境需要另行接入。"
          },
          {
            "en": "Data lives on a retained volume (/data). It keeps billing after stack deletion; snapshot it, then delete the volume when no longer needed.",
            "zh": "数据保存在保留数据卷(/data)中。删除栈后该卷仍会计费;请先创建快照,不再需要时再删除卷。"
          }
        ]
      },
      "cost_estimate": {
        "monthly_usd": 23,
        "note": {
          "en": "Default estimate 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": "/data",
      "hold": {
        "reason": {
          "en": "Deployment paused: the template does not mount the host Docker socket by default; local container management is unavailable.",
          "zh": "暂停部署:模板默认不挂载宿主机 Docker socket,不能管理宿主机容器。"
        }
      }
    },
    "release": {
      "type": "security_update",
      "previous_version": "2.45.1",
      "type_evidence": "rule2: keyword 'CVE-2026-56865' in upstream release notes"
    },
    "screenshots": [
      {
        "scenario": "setup",
        "file": "setup.png",
        "url": "https://pub-7abe6acc470447c0a101cc20ce10ceee.r2.dev/screenshots/portainer/2.45.1/setup.png",
        "caption": {
          "en": "First-run admin setup",
          "zh": "首次运行管理员设置"
        }
      }
    ]
  },
  "verification_run_id": "35419742107",
  "verified_at": "2026-09-19T03:52:36Z"
}