114df7162f
- backend/Dockerfile: multi-stage Python build (builder + slim runtime) - frontend/Dockerfile: multi-stage Node build + nginx:alpine serving - frontend/nginx.conf: SPA routing + /api/ reverse proxy to backend - docker-compose.yml: production compose with health checks and proper dependency ordering - docker-compose.dev.yml: dev overrides with hot reload via volume mounts Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
1.2 KiB
1.2 KiB
2026-04-12 — Dockerize all containers
Timestamp: 2026-04-12T15:00:00
Summary
Added proper Dockerfiles for backend and frontend. Split compose setup into production (docker-compose.yml) and development (docker-compose.dev.yml) modes. Updated README to reflect new container architecture.
Files Added
backend/Dockerfile— multi-stage build: pip install in builder stage, minimal python:3.12-slim runtime; runs uvicorn in production modefrontend/Dockerfile— multi-stage build: Node 20 Alpine builds the Vite bundle, nginx:alpine serves the static filesfrontend/nginx.conf— nginx config for SPA fallback routing and/api/reverse proxy to the backend containerdocker-compose.dev.yml— development overrides: mounts source for hot reload, uses Vite dev server instead of nginx
Files Modified
docker-compose.yml— rewritten: properbuild.context+dockerfilereferences, health check on db,depends_onwithcondition: service_healthy, env var interpolation via${VAR:-default}, frontend now served on port 80 via nginxREADME.md— updated Current State, added Containers table, replaced install options with Production / Development / Local sections