services: api: build: context: ./backend dockerfile: api/Dockerfile ports: - "8000:8000" environment: - YOUTUBE_API_KEY=${YOUTUBE_API_KEY} - DATA_PATH=/app/data/videos.json volumes: - ./data:/app/data restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/api/status"] interval: 30s timeout: 10s retries: 3 worker: build: context: ./backend dockerfile: worker/Dockerfile environment: - YOUTUBE_API_KEY=${YOUTUBE_API_KEY} - DATA_PATH=/app/data/videos.json volumes: - ./data:/app/data depends_on: - api restart: unless-stopped frontend: build: context: ./frontend dockerfile: Dockerfile args: - NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL:-http://localhost:8000} ports: - "3000:3000" depends_on: - api restart: unless-stopped