mirror of
https://github.com/kennethreitz/kjvstudy.org.git
synced 2026-06-05 23:00:16 +00:00
Add healthcheck to ensure nginx waits for uvicorn
- Web service has healthcheck on /api/health - nginx depends on web being healthy before starting - Added curl to Dockerfile for healthcheck 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
+2
-1
@@ -21,9 +21,10 @@ FROM python:3.13-slim
|
||||
# Install uv
|
||||
COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv
|
||||
|
||||
# Install nginx and WeasyPrint system dependencies
|
||||
# Install nginx, curl (for healthcheck), and WeasyPrint system dependencies
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||
nginx \
|
||||
curl \
|
||||
libpango-1.0-0 \
|
||||
libharfbuzz0b \
|
||||
libpangoft2-1.0-0 \
|
||||
|
||||
+8
-1
@@ -7,7 +7,8 @@ services:
|
||||
- ./nginx.conf:/etc/nginx/nginx.conf:ro
|
||||
- ./kjvstudy_org/static:/app/kjvstudy_org/static:ro
|
||||
depends_on:
|
||||
- web
|
||||
web:
|
||||
condition: service_healthy
|
||||
restart: unless-stopped
|
||||
|
||||
web:
|
||||
@@ -23,3 +24,9 @@ services:
|
||||
- DISABLE_ANALYTICS=true
|
||||
restart: unless-stopped
|
||||
command: uv run uvicorn kjvstudy_org.server:app --host 0.0.0.0 --port 8001 --reload --reload-include '*.json'
|
||||
healthcheck:
|
||||
test: ["CMD", "curl", "-f", "http://localhost:8001/api/health"]
|
||||
interval: 5s
|
||||
timeout: 5s
|
||||
retries: 10
|
||||
start_period: 10s
|
||||
|
||||
Reference in New Issue
Block a user