Make fresh router startup reliable

This commit is contained in:
Mikei386
2026-08-21 14:03:32 +02:00
parent 868b89be1d
commit bea144c91e
2 changed files with 26 additions and 4 deletions
+14 -1
View File
@@ -319,8 +319,21 @@ build_and_start() {
docker compose --env-file "$SECRETS_DIR/stack.env" up -d --build \
profile-controller router open-webui
log "Auf gesunden Router warten"
local deadline=$((SECONDS + 180))
until [ "$(docker inspect --format '{{if .State.Health}}{{.State.Health.Status}}{{else}}{{.State.Status}}{{end}}' mike-ai-router 2>/dev/null || true)" = "healthy" ]; do
if (( SECONDS >= deadline )); then
docker logs --tail 80 mike-ai-router >&2 || true
die "Router wurde nicht rechtzeitig gesund"
fi
sleep 2
done
log "Fast-Profil aktivieren und Readiness prüfen"
docker compose --env-file "$SECRETS_DIR/stack.env" exec -T router python - <<'PY'
# Use docker exec directly here. Some Compose/Docker combinations return a
# transient HTTP 409 while upgrading the exec stream immediately after a
# freshly built service has been recreated.
docker exec -i mike-ai-router python - <<'PY'
import json, os, time, urllib.request
key = os.environ["ROUTER_API_KEY"]
request = urllib.request.Request(