docker-compose.cuda.yml
Rama master · réplica de lectura del repositorio original.
# Hearthwave — NVIDIA CUDA deployment (build-from-source). *** STUB ***
#
# This profile is scaffolded but NOT yet validated on an NVIDIA host. The image
# builds onnxruntime-gpu (see backend/Dockerfile COMPUTE_BACKEND=cuda), and the
# GPU is granted via the NVIDIA Container Toolkit `deploy.resources` block below.
# Before using:
# 1. Install the NVIDIA Container Toolkit on the host.
# 2. Confirm `docker run --rm --gpus all nvidia/cuda:12.4.0-base nvidia-smi` works.
# 3. Wire the STT final pass to CUDA (the GPU transcriber currently targets
# torch "cuda" which works on NVIDIA too, but this path is untested here).
# 4. Remove this banner once validated.
#
# bash setup-cuda.sh
# docker compose -f docker-compose.cuda.yml up --build
name: hearthwave
services:
backend:
build:
context: .
dockerfile: backend/Dockerfile
args:
COMPUTE_BACKEND: cuda
volumes:
- ./data:/data
- ./Voices:/app/Voices:ro
- ./Models:/app/backend/Models:ro
- /run/user/${PULSE_UID:-1000}/pulse:/run/pulse:ro
environment:
- PULSE_SERVER=unix:/run/pulse/native
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
devices:
- /dev/snd:/dev/snd
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
restart: unless-stopped
networks:
- radio
healthcheck:
test: ["CMD", "python3", "-c", "import urllib.request; urllib.request.urlopen('http://localhost:8765/health')"]
interval: 10s
timeout: 5s
retries: 5
start_period: 20s
frontend:
build:
context: ./frontend
dockerfile: Dockerfile
ports:
- "80:8080"
volumes:
- ./data:/data:ro
depends_on:
backend:
condition: service_started
restart: unless-stopped
networks:
- radio
networks:
radio:
driver: bridge