Files
Qwen3-tts/docker-compose.yml

72 lines
2.5 KiB
YAML

services:
qwen3-tts:
image: vllm/vllm-omni:latest-aarch64
container_name: qwen3-tts
runtime: nvidia
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
- VLLM_LOGGING_LEVEL=INFO
- HF_HOME=/root/.cache/huggingface
# Modelle liegen vollstaendig im Cache → keine Online-Checks gegen huggingface.co.
# Verhindert Crash "[Errno -3] Temporary failure in name resolution" bei DNS-Ausfall.
- HF_HUB_OFFLINE=1
- TRANSFORMERS_OFFLINE=1
# Keine Lead-in-Stille (war nur Mitigation; Anfangsstottern ist client-seitig).
# Trailing-Stille bleibt per Default (300ms) gegen abruptes Ende.
- QWEN3_TTS_LEADIN_SILENCE_MS=0
- QWEN3_TTS_MODEL=${QWEN3_TTS_MODEL:-Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice}
ports:
- "8091:8091"
- "8092:8092"
volumes:
- /home/guru/vllm/data/root:/root
- ./deploy/qwen3_tts.yaml:/deploy/qwen3_tts.yaml:ro
- ./docker/entrypoint.sh:/entrypoint.sh:ro
- ./docker/voice_clone_ui.py:/voice_clone_ui.py:ro
- ./docker/ws_log_proxy.py:/ws_log_proxy.py:ro
- ./docker/patch_qwen3_tts_runtime.py:/patch_qwen3_tts_runtime.py:ro
- ./ui:/ui:ro
command: ["/bin/bash", "/entrypoint.sh"]
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8095/health"]
interval: 30s
timeout: 10s
retries: 5
start_period: 120s
qwen3-tts-clone:
image: vllm/vllm-omni:latest-aarch64
container_name: qwen3-tts-clone
runtime: nvidia
profiles:
- clone
environment:
- NVIDIA_VISIBLE_DEVICES=all
- NVIDIA_DRIVER_CAPABILITIES=compute,utility
- VLLM_LOGGING_LEVEL=INFO
- HF_HOME=/root/.cache/huggingface
- HF_HUB_OFFLINE=1
- TRANSFORMERS_OFFLINE=1
- QWEN3_TTS_CLONE_MODEL=${QWEN3_TTS_CLONE_MODEL:-}
- QWEN3_TTS_CLONE_PORT=8091
ports:
- "8091:8091"
volumes:
- /home/guru/vllm/data/root:/root
- ./deploy/qwen3_tts.yaml:/deploy/qwen3_tts.yaml:ro
- ./deploy/qwen3_tts_clone.yaml:/deploy/qwen3_tts_clone.yaml:ro
- ./docker/entrypoint_clone.sh:/entrypoint_clone.sh:ro
- ./docker/patch_qwen3_tts_runtime.py:/patch_qwen3_tts_runtime.py:ro
- ./docker/ws_log_proxy.py:/ws_log_proxy.py:ro
command: ["/bin/bash", "/entrypoint_clone.sh"]
restart: "no"
healthcheck:
test: ["CMD", "curl", "-sf", "http://localhost:8095/health"]
interval: 30s
timeout: 10s
retries: 5
start_period: 120s