services: training-webui: build: context: .. dockerfile: docker/Dockerfile ports: - "7860:7860" volumes: # Pretrained model weights + HF cache (HF_HOME=/app/models in Dockerfile). # Pre-populate with model dirs, or leave empty — auto-downloads on first run. - ../models:/app/models # Training data: JSONL manifests and audio files. # Reference paths inside the container as /app/data/train.jsonl etc. - ../data:/app/data # LoRA training output — checkpoints, configs, logs. # Results appear in lora//checkpoints/ after training. - ../lora:/app/lora # Additional training artifacts. - ../output:/app/output deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] environment: - GRADIO_SERVER_PORT=7860 - GRADIO_ROOT_PATH=/webui # Matches nginx location block restart: unless-stopped nginx: image: nginx:alpine ports: - "80:80" volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf:ro depends_on: - training-webui restart: unless-stopped