mirror of
https://github.com/CopilotKit/CopilotKit.git
synced 2026-09-14 16:26:20 +08:00
575360cd54
The multi-stage Docker refactor (#4147) moved TypeScript showcase services to `node:22-slim` runtime. That base image does NOT include `curl`. entrypoint.sh's watchdog runs `curl -sS --max-time 5 http://127.0.0.1:8124/ok` every 5s to probe the liveness endpoint. Without curl the probe exits rc=127 "command not found" every cycle. After 180s grace + 3x30s strikes the watchdog kills the agent process. Railway auto-restarts. Kill-loop forever. Verified via `railway ssh --service showcase-langgraph-typescript`: sh: 1: curl: not found rc=127 while `ss -tlnp` on the same container confirmed BOTH 0.0.0.0:8123 (langgraph-api) and 0.0.0.0:8124 (liveness.mjs) LISTEN. The agent servers were healthy the whole time — the probe tool was missing. Fix: add `apt-get install -y --no-install-recommends curl` to the runtime stage of: - showcase/starters/template/dockerfiles/Dockerfile.typescript (source) - showcase/packages/claude-sdk-typescript/Dockerfile - showcase/packages/langgraph-typescript/Dockerfile - showcase/packages/mastra/Dockerfile 3 starter Dockerfiles regenerated from the template via `pnpm -C showcase/scripts generate-starters`. Python/Java/.NET services already install curl (they need it for NodeSource or similar) and are unaffected. Smoke: local `docker build --platform linux/amd64` for both starter + package variants succeeded; `docker run ... sh -c "which curl"` prints /usr/bin/curl in both.