title: Docker Compose setup evidence scenario: id: compose-setup surface: containers category: containers.container-setup coverage: primary: - containers.docker-compose-gateway - containers.container-health-endpoints secondary: - containers.docker-compose-mounts-and-secrets objective: Launch the documented Docker Compose topology from the package-backed functional image and prove its liveness, readiness, authenticated health CLI, Docker health state, recovery, and operator diagnostics. successCriteria: - The scheduler builds the real package artifact and package-backed functional image through the canonical Docker planner. - "`docker compose up` starts the documented `openclaw-gateway` service with isolated state, config, workspace, and auth-profile mounts." - The Dockerfile definition, resolved Compose configuration, and running container all use `node dist/docker-healthcheck.js`. - "`/healthz` reports live and `/readyz` reports ready before and after a bounded forced-unhealthy cycle." - Wrong tokens fail and the configured token passes for `gateway health --json` from both the Gateway service and `openclaw-cli` sidecar. - Docker records the forced failure as `unhealthy`, records a successful recovery to `healthy`, and exposes non-empty `State.Health` and Compose log diagnostics. - Evidence records the package digest and version, functional image ID, Gateway and CLI container IDs, and explicit pass markers for each health boundary. docsRefs: - docs/install/docker.md - docs/cli/gateway.md - docs/gateway/logging.md - docs/gateway/opentelemetry.md - docs/gateway/prometheus.md - docs/help/testing.md codeRefs: - Dockerfile - docker-compose.yml - src/docker-healthcheck.ts - src/gateway/server-http.ts - scripts/e2e/compose-setup.sh - scripts/lib/docker-e2e-scenarios.mts - scripts/package-openclaw-for-docker.mts - test/e2e/qa-lab/runtime/docker-artifact-proof.ts execution: kind: script path: test/e2e/qa-lab/runtime/docker-artifact-proof.ts summary: Builds the package-backed functional image, launches the documented Compose services, validates endpoint and authenticated CLI health, forces and recovers Docker health state, captures diagnostics, and records artifact identities. timeoutMs: 1800000 args: - --artifact-base - ${outputDir} - --lane - compose-setup