chore(devops): docker-compose dev + prod, Dockerfiles, nginx, Makefile

- backend/Dockerfile: Python 3.12 slim, non-root user, WeasyPrint system deps
- backend/Dockerfile.dev: dev variant with hot-reload support
- frontend/Dockerfile: Node 20 alpine build + nginx:alpine serve
- frontend/nginx.conf: SPA routing + /api proxy to backend:8000
- docker-compose.yml: production with healthcheck
- docker-compose.dev.yml: dev with volume mounts and hot-reload
- Makefile: dev, build, up, down, logs, migrate, test, shell, prod targets
- .dockerignore for backend and frontend

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-13 17:19:12 +02:00
parent 1ab109b1d4
commit 6f82c56995
9 changed files with 184 additions and 0 deletions

11
backend/.dockerignore Normal file
View File

@@ -0,0 +1,11 @@
__pycache__
*.pyc
*.pyo
.pytest_cache
.env
data/*.db
data/backup-*
.git
.gitignore
tests/
*.md