Files
Qwen3-tts/scripts/start_clone.sh

52 lines
1.5 KiB
Bash
Raw Permalink Normal View History

2026-06-18 17:27:42 +02:00
#!/bin/bash
set -euo pipefail
2026-06-19 17:22:28 +02:00
cd "$(dirname "$0")/.."
2026-06-18 17:27:42 +02:00
2026-06-20 19:54:41 +02:00
HEALTH_URL="" # leer → nutzt docker inspect health status
2026-06-18 17:27:42 +02:00
MAX_WAIT="${MAX_WAIT:-180}"
2026-06-19 17:22:28 +02:00
[ -f .env ] && source .env
2026-06-18 17:27:42 +02:00
MODEL="${QWEN3_TTS_CLONE_MODEL:-Qwen/Qwen3-TTS-12Hz-1.7B-Base}"
t0=$SECONDS
printf "TTS-Container stoppt..."
docker compose stop qwen3-tts >/dev/null 2>&1 || true
2026-06-19 17:22:28 +02:00
docker compose rm -f qwen3-tts >/dev/null 2>&1 || true
2026-06-18 17:27:42 +02:00
printf " [%ds]
" $(( SECONDS - t0 ))
printf "Clone-Container startet..."
2026-06-19 17:22:28 +02:00
docker compose --profile clone up -d qwen3-tts-clone >/tmp/qwen3-tts-clone-compose.log 2>&1
2026-06-18 17:27:42 +02:00
printf " [%ds]
" $(( SECONDS - t0 ))
printf " Modell %s
" "$MODEL"
2026-06-19 15:52:58 +02:00
printf " API http://localhost:8091
2026-06-18 17:27:42 +02:00
"
while (( SECONDS - t0 < MAX_WAIT )); do
2026-06-20 19:54:41 +02:00
STATUS=$(docker inspect qwen3-tts-clone --format='{{.State.Health.Status}}' 2>/dev/null || true)
if [ "$STATUS" = "healthy" ]; then
printf "✓ Clone bereit: ws://localhost:8091 [%ds]
2026-06-18 17:27:42 +02:00
" $(( SECONDS - t0 ))
exit 0
fi
2026-06-20 19:54:41 +02:00
if [ "$STATUS" = "unhealthy" ]; then
printf "✗ Clone-Container unhealthy. Logs:
" >&2
docker logs --tail=20 qwen3-tts-clone 2>&1 >&2 || true
exit 1
fi
2026-06-18 17:27:42 +02:00
if ! docker ps --filter "name=qwen3-tts-clone" --filter "status=running" -q | grep -q .; then
printf "✗ Clone-Container abgestürzt. Logs:
" >&2
2026-06-20 19:54:41 +02:00
docker logs --tail=20 qwen3-tts-clone 2>&1 >&2 || true
2026-06-18 17:27:42 +02:00
exit 1
fi
sleep 2
done
printf "✗ Timeout nach %ss. Logs: docker logs qwen3-tts-clone
" "$MAX_WAIT" >&2
exit 1