| 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: |