Add XTTS primary voice with Piper fallback
This commit is contained in:
+75
-1
@@ -529,7 +529,11 @@ services:
|
||||
CHAT_IMAGE_ALLOW_REMOTE_URLS: "false"
|
||||
ENABLE_IMAGE_GENERATION: "true"
|
||||
ENABLE_TTS: "true"
|
||||
TTS_WORKER_URL: http://piper:8085
|
||||
# Stable OpenAI compatibility names remain piper/alloy because an
|
||||
# existing Open WebUI database persists those values. The gateway maps
|
||||
# alloy to XTTS speaker Annmarie Nele and automatically falls back to
|
||||
# Piper if XTTS is unavailable, busy or returns an error.
|
||||
TTS_WORKER_URL: http://tts-gateway:8085
|
||||
TTS_MODEL: piper
|
||||
TTS_VOICES: alloy
|
||||
TTS_DEFAULT_VOICE: alloy
|
||||
@@ -555,6 +559,8 @@ services:
|
||||
condition: service_healthy
|
||||
piper:
|
||||
condition: service_healthy
|
||||
tts-gateway:
|
||||
condition: service_healthy
|
||||
|
||||
flux-worker:
|
||||
build:
|
||||
@@ -622,6 +628,74 @@ services:
|
||||
retries: 30
|
||||
start_period: 120s
|
||||
|
||||
xtts:
|
||||
image: ${XTTS_IMAGE:-ghcr.io/coqui-ai/xtts-streaming-server:latest-cuda121@sha256:f7fb3b1f9d4bc88af94da1b5959d8002f1e0b003c97557164034eb8a29f01b90}
|
||||
container_name: mike-ai-xtts
|
||||
restart: unless-stopped
|
||||
deploy:
|
||||
resources:
|
||||
reservations:
|
||||
devices:
|
||||
- driver: nvidia
|
||||
device_ids:
|
||||
- ${XTTS_GPU_DEVICE:-GPU-4834d9d7-5b61-3004-1fb3-4ae49d482d4b}
|
||||
capabilities: [gpu]
|
||||
read_only: true
|
||||
shm_size: 1g
|
||||
tmpfs:
|
||||
- /tmp:size=1g,mode=1777
|
||||
- /root/.cache:size=2g,mode=0700
|
||||
volumes:
|
||||
- "${XTTS_CACHE_DIR:-/data/models/xtts-v2-cache}:/root/.local/share/tts"
|
||||
environment:
|
||||
COQUI_TOS_AGREED: "1"
|
||||
NVIDIA_VISIBLE_DEVICES: ${XTTS_GPU_DEVICE:-GPU-4834d9d7-5b61-3004-1fb3-4ae49d482d4b}
|
||||
NVIDIA_DRIVER_CAPABILITIES: compute,utility
|
||||
CUDA_VISIBLE_DEVICES: "0"
|
||||
NUM_THREADS: "4"
|
||||
networks: [frontend]
|
||||
security_opt: ["no-new-privileges:true"]
|
||||
cap_drop: [ALL]
|
||||
healthcheck:
|
||||
test: [CMD, curl, -fsS, "http://127.0.0.1/languages"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 36
|
||||
start_period: 240s
|
||||
|
||||
tts-gateway:
|
||||
build:
|
||||
context: platform/docker/tts-gateway
|
||||
image: mike-ai/tts-gateway:local
|
||||
container_name: mike-ai-tts-gateway
|
||||
restart: unless-stopped
|
||||
read_only: true
|
||||
tmpfs:
|
||||
- /tmp:size=256m,mode=1777
|
||||
environment:
|
||||
TTS_GATEWAY_HOST: 0.0.0.0
|
||||
TTS_GATEWAY_PORT: "8085"
|
||||
XTTS_URL: http://xtts:80
|
||||
PIPER_URL: http://piper:8085
|
||||
TTS_VOICE_ALIAS: alloy
|
||||
XTTS_SPEAKER: Annmarie Nele
|
||||
TTS_DEFAULT_LANGUAGE: de
|
||||
XTTS_QUEUE_TIMEOUT: "15"
|
||||
XTTS_TIMEOUT: "120"
|
||||
PIPER_TIMEOUT: "120"
|
||||
networks: [frontend]
|
||||
depends_on:
|
||||
piper:
|
||||
condition: service_healthy
|
||||
security_opt: ["no-new-privileges:true"]
|
||||
cap_drop: [ALL]
|
||||
healthcheck:
|
||||
test: [CMD, curl, -fsS, "http://127.0.0.1:8085/status"]
|
||||
interval: 10s
|
||||
timeout: 5s
|
||||
retries: 12
|
||||
start_period: 10s
|
||||
|
||||
open-webui:
|
||||
image: ${OPENWEBUI_IMAGE:-ghcr.io/open-webui/open-webui:v0.9.5}
|
||||
container_name: mike-ai-open-webui
|
||||
|
||||
Reference in New Issue
Block a user