version: '3.8' services: helion-osc-api: build: context: . dockerfile: Dockerfile container_name: helion-osc-api restart: unless-stopped ports: - "8000:8000" volumes: - ./models:/app/models - ./cache:/app/cache - ./outputs:/app/outputs environment: - CUDA_VISIBLE_DEVICES=0 - HF_HOME=/app/cache - TRANSFORMERS_CACHE=/app/cache 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: 60s networks: - helion-network # Optional: Nginx reverse proxy nginx: image: nginx:alpine container_name: helion-nginx restart: unless-stopped ports: - "80:80" - "443:443" volumes: - ./nginx.conf:/etc/nginx/nginx.conf:ro - ./ssl:/etc/nginx/ssl:ro depends_on: - helion-osc-api networks: - helion-network networks: helion-network: driver: bridge volumes: models: cache: outputs: