Services
Startup Order
dbandminiostart in parallel- Health checks must pass before
backendstarts - Backend runs
entrypoint.sh: creates tables viaBase.metadata.create_all(), seeds ifSEED_DB=true frontendstarts after backend is up
Volumes
Network
All services onnil-net bridge network. Frontend proxies /api/* to backend:8000 via Vite config.
Backend Dockerfile
PYTHONPATH=/app is required because the volume mount overrides the installed package. entrypoint.sh handles migrations + seeding before starting uvicorn.