services: backend: build: ./backend container_name: esp32-flasher-backend volumes: - firmware_uploads:/app/uploads environment: - NODE_ENV=production - PORT=3000 restart: unless-stopped healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/health"] interval: 30s timeout: 10s retries: 3 frontend: build: ./frontend container_name: esp32-flasher-frontend ports: - "3100:80" depends_on: - backend restart: unless-stopped volumes: firmware_uploads: driver: local