- Docker configuration: - Multi-stage Dockerfiles for backend (Python 3.11) and frontend (Node 20) - Production docker-compose.yml with all services - Development docker-compose.dev.yml with hot-reload - Nginx reverse proxy: - SSL/TLS termination with modern cipher suites - Rate limiting and security headers - Caching and compression - Load balancing ready - Kubernetes manifests: - Deployment, Service, Ingress configurations - ConfigMap and Secrets - HPA for auto-scaling - PersistentVolumeClaims - Deployment scripts: - deploy.sh: Automated deployment with health checks - backup.sh: Automated backup with retention - health-check.sh: Service health monitoring - setup-ssl.sh: Let's Encrypt SSL automation - Monitoring: - Prometheus configuration - Grafana dashboards (optional) - Structured logging - Documentation: - DEPLOYMENT_GUIDE.md: Complete deployment instructions - Environment templates (.env.production) Ready for commercial deployment!
41 lines
899 B
YAML
41 lines
899 B
YAML
# Document Translation API - Development Docker Compose
|
|
# Usage: docker-compose -f docker-compose.yml -f docker-compose.dev.yml up
|
|
|
|
version: '3.8'
|
|
|
|
services:
|
|
backend:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/backend/Dockerfile
|
|
target: builder # Use builder stage for dev
|
|
volumes:
|
|
- .:/app
|
|
- /app/venv # Don't override venv
|
|
environment:
|
|
- DEBUG=true
|
|
- LOG_LEVEL=DEBUG
|
|
command: uvicorn main:app --host 0.0.0.0 --port 8000 --reload
|
|
ports:
|
|
- "8000:8000"
|
|
|
|
frontend:
|
|
build:
|
|
context: .
|
|
dockerfile: docker/frontend/Dockerfile
|
|
target: builder
|
|
volumes:
|
|
- ./frontend:/app
|
|
- /app/node_modules
|
|
- /app/.next
|
|
environment:
|
|
- NODE_ENV=development
|
|
command: npm run dev
|
|
ports:
|
|
- "3000:3000"
|
|
|
|
# No nginx in dev - direct access to services
|
|
nginx:
|
|
profiles:
|
|
- disabled
|