fix: replace wget healthcheck with bash /dev/tcp for cliproxyapi container (#223)
## Problem The \`cliproxyapi\` container (\`eceasy/cli-proxy-api\`) health check in both \`docker-compose.local.yml\` and \`infrastructure/docker-compose.yml\` used \`wget\`: \`\`\`yaml test: ["CMD", "wget", "--no-verbose", "--tries=1", "-O", "/dev/null", "http://localhost:8317/"] \`\`\` This causes the container to stay permanently \`unhealthy\`, which blocks the dashboard from starting (it depends on \`cliproxyapi: service_healthy\`). The error in \`docker inspect\`: \`\`\` OCI runtime exec failed: exec failed: unable to start container process: exec: "wget": executable file not found in $PATH \`\`\` ## Root cause The upstream image switched base OS from **Alpine Linux** to **Debian Bookworm** at **v7.1.51** (published June 8, 2026). Alpine ships \`wget\` as part of BusyBox; Debian does not. The Dockerfile only installs \`tzdata\` and \`ca-certificates\` — \`wget\` was never explicitly added and was always just a free bystander on Alpine. Confirmed by inspecting image history across versions: | Version | Date | Base OS | wget? | |---|---|---|---| | ≤ v7.1.50 | Jun 6 2026 | Alpine 3.23 | ✅ via BusyBox | | v7.1.51 | Jun 8 2026 | Debian Bookworm | ❌ | | v7.1.53 – latest (v7.2.22) | Jun 8–20 2026 | Debian Bookworm | ❌ | ## Fix Replace the \`wget\` probe with a \`bash /dev/tcp\` TCP connection check, which requires no external tools and works on both Alpine and Debian: \`\`\`yaml test: ["CMD", "bash", "-c", "echo > /dev/tcp/localhost/8317"] \`\`\` Applied to both \`docker-compose.local.yml\` and \`infrastructure/docker-compose.yml\`.
S
stephas committed
3cf863480313ff8fce44ea9d64c817418dd5ec33
Parent: a6454e9
Committed by GitHub <noreply@github.com>
on 6/21/2026, 11:46:16 AM