83 lines
3.5 KiB
YAML
83 lines
3.5 KiB
YAML
# ════════════════════════════════════════════════
|
|
# ARIA Gamebox Stack — GPU F5-TTS + Whisper STT
|
|
# Laeuft auf dem Gaming-PC (RTX 3060)
|
|
# Verbindet sich zum RVS fuer TTS/STT-Requests
|
|
# ════════════════════════════════════════════════
|
|
#
|
|
# Voraussetzungen:
|
|
# - Docker Desktop mit WSL2
|
|
# - NVIDIA Container Toolkit
|
|
# - .env mit RVS-Verbindungsdaten
|
|
#
|
|
# Start: docker compose up -d
|
|
# ════════════════════════════════════════════════
|
|
|
|
services:
|
|
|
|
# ─── F5-TTS Bridge (GPU) ──────────────────────
|
|
# Ersetzt den frueheren XTTS-Stack. Empfaengt xtts_request via RVS,
|
|
# rendert via F5-TTS mit Voice-Cloning, streamt PCM an die App.
|
|
# Voice-Upload: speichert WAV und laesst whisper-bridge den Referenz-
|
|
# text transkribieren — der User muss nichts eintippen.
|
|
f5tts-bridge:
|
|
build: ./f5tts
|
|
container_name: aria-f5tts-bridge
|
|
deploy:
|
|
resources:
|
|
reservations:
|
|
devices:
|
|
- driver: nvidia
|
|
count: 1
|
|
capabilities: [gpu]
|
|
volumes:
|
|
- ./voices:/voices # WAV + TXT Referenz
|
|
- ./hf-cache:/root/.cache/huggingface # HF-Cache als Bind-Mount.
|
|
# Direkt sichtbar im xtts/hf-cache/,
|
|
# einfach zu loeschen, kein Docker-
|
|
# Desktop .vhdx Bloat.
|
|
# Wird mit whisper-bridge geteilt.
|
|
environment:
|
|
# Bootstrap-only — alle anderen F5-TTS-Settings (Modell, cfg_strength,
|
|
# nfe_step, Custom-Checkpoint) kommen ueber Diagnostic via RVS-config.
|
|
- 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}
|
|
- F5TTS_DEVICE=${F5TTS_DEVICE:-cuda}
|
|
- VOICES_DIR=/voices
|
|
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. Zusaetzlich nutzt die
|
|
# f5tts-bridge Whisper intern fuer die Referenz-Transkription bei
|
|
# Voice-Uploads. 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:
|
|
- ./hf-cache:/root/.cache/huggingface # gleicher Cache wie f5tts-bridge
|
|
restart: unless-stopped
|