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
