| | version: '3.8' |
| |
|
| | services: |
| | helion-inference: |
| | build: |
| | context: . |
| | dockerfile: Dockerfile |
| | args: |
| | - CUDA_VERSION=12.1.1 |
| | image: helion:2.5-rnd |
| | container_name: helion-inference-server |
| | |
| | deploy: |
| | resources: |
| | reservations: |
| | devices: |
| | - driver: nvidia |
| | count: all |
| | capabilities: [gpu] |
| | |
| | environment: |
| | - MODEL_PATH=/models/helion |
| | - MODEL_NAME=DeepXR/Helion-2.5-Rnd |
| | - PORT=8000 |
| | - HOST=0.0.0.0 |
| | - TENSOR_PARALLEL_SIZE=2 |
| | - MAX_MODEL_LEN=131072 |
| | - GPU_MEMORY_UTILIZATION=0.95 |
| | - CUDA_VISIBLE_DEVICES=0,1 |
| | - WORKERS=1 |
| | |
| | |
| | |
| | |
| | |
| | - LOG_LEVEL=info |
| | - LOG_FILE=/app/logs/helion.log |
| | |
| | volumes: |
| | - ./models:/models:ro |
| | - ./logs:/app/logs |
| | - ./cache:/app/cache |
| | - ./inference:/app/inference:ro |
| | - ./model_config.yaml:/app/model_config.yaml:ro |
| | |
| | ports: |
| | - "8000:8000" |
| | - "8001:8001" |
| | - "8002:8002" |
| | |
| | healthcheck: |
| | test: ["CMD", "curl", "-f", "http://localhost:8000/health"] |
| | interval: 30s |
| | timeout: 10s |
| | retries: 3 |
| | start_period: 120s |
| | |
| | restart: unless-stopped |
| | |
| | networks: |
| | - helion-network |
| | |
| | logging: |
| | driver: "json-file" |
| | options: |
| | max-size: "100m" |
| | max-file: "10" |
| |
|
| | prometheus: |
| | image: prom/prometheus:latest |
| | container_name: helion-prometheus |
| | |
| | volumes: |
| | - ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml:ro |
| | - prometheus-data:/prometheus |
| | |
| | ports: |
| | - "9090:9090" |
| | |
| | command: |
| | - '--config.file=/etc/prometheus/prometheus.yml' |
| | - '--storage.tsdb.path=/prometheus' |
| | - '--web.console.libraries=/usr/share/prometheus/console_libraries' |
| | - '--web.console.templates=/usr/share/prometheus/consoles' |
| | |
| | networks: |
| | - helion-network |
| | |
| | restart: unless-stopped |
| |
|
| | grafana: |
| | image: grafana/grafana:latest |
| | container_name: helion-grafana |
| | |
| | environment: |
| | - GF_SECURITY_ADMIN_PASSWORD=admin |
| | - GF_USERS_ALLOW_SIGN_UP=false |
| | |
| | volumes: |
| | - grafana-data:/var/lib/grafana |
| | - ./monitoring/grafana/dashboards:/etc/grafana/provisioning/dashboards:ro |
| | - ./monitoring/grafana/datasources:/etc/grafana/provisioning/datasources:ro |
| | |
| | ports: |
| | - "3000:3000" |
| | |
| | networks: |
| | - helion-network |
| | |
| | depends_on: |
| | - prometheus |
| | |
| | restart: unless-stopped |
| |
|
| | nginx: |
| | image: nginx:alpine |
| | container_name: helion-nginx |
| | |
| | volumes: |
| | - ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro |
| | - ./nginx/ssl:/etc/nginx/ssl:ro |
| | |
| | ports: |
| | - "80:80" |
| | - "443:443" |
| | |
| | networks: |
| | - helion-network |
| | |
| | depends_on: |
| | - helion-inference |
| | |
| | restart: unless-stopped |
| |
|
| | redis: |
| | image: redis:7-alpine |
| | container_name: helion-redis |
| | |
| | command: redis-server --appendonly yes |
| | |
| | volumes: |
| | - redis-data:/data |
| | |
| | ports: |
| | - "6379:6379" |
| | |
| | networks: |
| | - helion-network |
| | |
| | restart: unless-stopped |
| |
|
| | networks: |
| | helion-network: |
| | driver: bridge |
| | ipam: |
| | config: |
| | - subnet: 172.28.0.0/16 |
| |
|
| | volumes: |
| | prometheus-data: |
| | driver: local |
| | grafana-data: |
| | driver: local |
| | redis-data: |
| | driver: local |