services: frontend: build: context: ./frontend dockerfile: Dockerfile args: - NEXT_PUBLIC_API_URL=http://localhost:8000/api ports: - "3000:3000" environment: - NEXT_PUBLIC_API_URL=http://localhost:8000/api depends_on: backend: condition: service_healthy networks: - manga-net restart: unless-stopped backend: build: context: ./backend dockerfile: Dockerfile ports: - "8000:8000" environment: - PYTHONUNBUFFERED=1 - UPLOAD_DIR=/app/uploads - OUTPUT_DIR=/app/output - PREVIEW_DIR=/app/previews - MAX_UPLOAD_SIZE=500000000 # 500MB - MAX_OUTPUT_FILE_SIZE=200000000 # 200MB (auto-split threshold) # - ENABLE_AI_UPSCALING=1 # Disabled: CPU-only Vulkan is too slow. See DEBUG_NOTES.md volumes: - uploads:/app/uploads - output:/app/output - previews:/app/previews # NVIDIA GPU support for AI upscaling (requires nvidia-container-toolkit) deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s networks: - manga-net restart: unless-stopped volumes: uploads: driver: local output: driver: local previews: driver: local networks: manga-net: driver: bridge