version: '3.8' services: backend: build: ./backend ports: - "8000:8000" volumes: - ./backend:/app - ./backend/data:/backend/data command: uvicorn app.main:app --host 0.0.0.0 --reload --workers 4 healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3 restart: unless-stopped deploy: resources: limits: cpus: '4' memory: 8G frontend: build: ./frontend ports: - "3000:3000" volumes: - ./frontend:/app - /app/node_modules depends_on: - backend