Caddy depended on app/frontend with no readiness gate, so it could proxy to a not-yet-listening upstream and surface brief 502s on boot/restart. Add wget-based healthchecks (busybox wget ships in both alpine runtime images): app hits the unauthenticated /health, frontend hits / (SSR returns 200; the redirect is client-side). app uses a 30s start_period to cover boot-time migrations. Caddy now depends_on both with condition: service_healthy. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2.1 KiB
2.1 KiB