Previously uvicorn was launched with `&` while nginx ran with `exec`, so if the backend crashed (e.g. the `AssertionError` in websockets' keepalive_ping that took prod down for ~31h), nginx kept the container "up" and every /api/* request returned 502. Now both processes are monitored with `wait -n`; whichever dies first triggers the entrypoint to exit, letting `restart: unless-stopped` recover the container cleanly. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| entrypoint.sh | ||
| nginx.conf | ||
| nginx.prod.conf | ||