# ════════════════════════════════════════════════ # 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: Modell bleibt dauerhaft im GPU-VRAM (~2GB). Vorteile: # - Render startet sofort (kein reload pro Request) # - /tts_stream funktioniert → echtes Streaming mit ~500ms time-to-first-audio # Ohne diesen command: apiManual-Modus, jede Anfrage laedt Modell neu, kein Streaming. # Der NVIDIA-Entrypoint erwartet Python als ausfuehrbares Command, nicht nur Flags. command: - python - -m - xtts_api_server - -hs - "0.0.0.0" - -p - "8020" - -ms - local - -o - /app/output - -mf - /app/xtts_models - -sf - /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 volumes: xtts-models: