Follow AdonisJS deployment best practices for Docker and HTTP config
- Dockerfile: use self-contained build output as app root with clean prod-only
pnpm install, explicit NODE_ENV=development for build deps, shared base stage
- config/app.ts: add keepAliveTimeout (55s) to prevent 502s behind reverse proxies
- docker-compose: add ClickHouse healthcheck so web waits for readiness before
migrations, pass HEALTH_CHECK_TOKEN header in web healthcheck, use 127.0.0.1
to avoid Alpine IPv6 localhost resolution, update commands for new WORKDIR
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>