# ════════════════════════════════════════════════ # ARIA XTTS v2 — GPU TTS Server # Laeuft auf dem Gaming-PC (RTX 3060) # Verbindet sich zum RVS fuer TTS-Requests # ════════════════════════════════════════════════ # # Voraussetzungen: # - Docker Desktop mit WSL2 # - NVIDIA Container Toolkit # - .env mit RVS-Verbindungsdaten # # Start: docker compose up -d # Test: curl http://localhost:8000/docs # ════════════════════════════════════════════════ services: # ─── XTTS v2 API Server (GPU) ───────────────── xtts: image: daswer123/xtts-api-server:latest container_name: aria-xtts deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] ports: - "8000:8020" volumes: - xtts-models:/app/xtts_models # Model-Cache (~2GB) - ./voices:/voices # Custom Voice Samples environment: - COQUI_TOS_AGREED=1 # Local-Modus statt default "apiManual": Modell bleibt im GPU-VRAM, # Render startet sofort, /tts_stream funktioniert. # Default-CMD des Images liest diese ENV: -ms ${MODEL_SOURCE:-"apiManual"} - MODEL_SOURCE=local # Speaker-Folder auf unsere gemounteten voices zeigen lassen - EXAMPLE_FOLDER=/voices restart: unless-stopped # ─── XTTS Bridge (verbindet zu RVS) ─────────── xtts-bridge: build: . container_name: aria-xtts-bridge depends_on: - xtts volumes: - ./voices:/voices # Shared mit XTTS-Server environment: - XTTS_API_URL=http://xtts:8020 - RVS_HOST=${RVS_HOST} - RVS_PORT=${RVS_PORT:-443} - RVS_TLS=${RVS_TLS:-true} - RVS_TLS_FALLBACK=${RVS_TLS_FALLBACK:-true} - RVS_TOKEN=${RVS_TOKEN} restart: unless-stopped # ─── Whisper STT (GPU) ──────────────────────── # Faster-Whisper auf der Gamebox statt auf der VM (CPU) — # deutlich schneller. Verbindet sich selbst per WebSocket an # den RVS und nimmt dort stt_request Nachrichten der aria-bridge # entgegen, antwortet mit stt_response. Laedt das Modell beim # Start vor; auf Config-Broadcasts (Diagnostic → whisperModel) # wird zur Laufzeit hot-swapped. whisper-bridge: build: ./whisper container_name: aria-whisper-bridge deploy: resources: reservations: devices: - driver: nvidia count: 1 capabilities: [gpu] environment: - RVS_HOST=${RVS_HOST} - RVS_PORT=${RVS_PORT:-443} - RVS_TLS=${RVS_TLS:-true} - RVS_TLS_FALLBACK=${RVS_TLS_FALLBACK:-true} - RVS_TOKEN=${RVS_TOKEN} - WHISPER_MODEL=${WHISPER_MODEL:-small} - WHISPER_DEVICE=${WHISPER_DEVICE:-cuda} - WHISPER_COMPUTE_TYPE=${WHISPER_COMPUTE_TYPE:-float16} - WHISPER_LANGUAGE=${WHISPER_LANGUAGE:-de} volumes: - whisper-models:/root/.cache/huggingface # Model-Cache persistieren restart: unless-stopped volumes: xtts-models: whisper-models: