This commit is contained in:
2026-03-31 15:19:15 +02:00
parent ee48dc8f82
commit 9365725f30
3 changed files with 38 additions and 11 deletions

View File

@@ -49,8 +49,13 @@ Entfernt nicht mehr benötigte Images/Container automatisch
- ❌ Image-ID unverändert → kein Update
- ✅ Image-ID hat sich geändert → Update erkannt
5. Wenn mindestens ein Service ein Update hat:
- Einzelcontainer: gezieltes Update des Services
- Mehrere Services: kompletter Stack wird neu deployed (`docker compose up -d`)
- **Einzelcontainer:**
- gezieltes Update nur dieses Services (`docker compose up -d <service>`)
- **Mehrere Services:**
- kompletter Stack wird neu deployed (`docker compose up -d`)
- **Optional**
- feste Wartezeit nach dem Deploy (`REDEPLOY_WAIT`)
- anschließendes Warten auf erfolgreiche Healthchecks (`REDEPLOY_WAIT_HEALTHY`)
6. Sonderverhalten:
- Gestoppte Container werden ebenfalls geprüft und bei Updates berücksichtigt
- Gestoppte Container werden nach dem Update optional wieder gestoppt
@@ -146,11 +151,14 @@ UPDATE_START_STOPPED=false
# REDEPLOY
# ----------------------------------------------------------
# Warten bis Container healthy [ true | false ]
# Feste Wartezeit nach Redeploy [ Number ]
REDEPLOY_WAIT=120
# Warten bis Container healthy sind [ true | false ]
REDEPLOY_WAIT_HEALTHY=true
# Timeout in Sekunden [ Number ]
REDEPLOY_TIMEOUT=60
# Timeout in Sekunden für healthy Check [ Number ]
REDEPLOY_WAIT_HEALTHY_TIMEOUT=60
# ----------------------------------------------------------

View File

@@ -43,11 +43,14 @@ UPDATE_START_STOPPED=false
# REDEPLOY
# ----------------------------------------------------------
# Warten bis Container healthy [ true | false ]
# Feste Wartezeit nach Redeploy [ Number ]
REDEPLOY_WAIT=120
# Warten bis Container healthy sind [ true | false ]
REDEPLOY_WAIT_HEALTHY=true
# Timeout in Sekunden [ Number ]
REDEPLOY_TIMEOUT=60
# Timeout in Sekunden für healthy Check [ Number ]
REDEPLOY_WAIT_HEALTHY_TIMEOUT=60
# ----------------------------------------------------------

View File

@@ -387,8 +387,15 @@ while IFS= read -r -d '' file; do
log INFO " ✔️ Container $svc aktualisiert"
# 👉 feste Wartezeit
if [ "${REDEPLOY_WAIT:-0}" -gt 0 ]; then
log INFO " ⏳ Warte ${REDEPLOY_WAIT}s nach Deploy"
sleep "$REDEPLOY_WAIT"
fi
# 👉 optionaler Healthcheck
if [ "$REDEPLOY_WAIT_HEALTHY" = true ]; then
wait_for_healthy "$REDEPLOY_TIMEOUT" "$svc"
wait_for_healthy "$REDEPLOY_WAIT_HEALTHY_TIMEOUT" "$svc"
fi
else
@@ -401,10 +408,18 @@ while IFS= read -r -d '' file; do
else
log INFO " ✔️ Stack erfolgreich aktualisiert"
if [ "$REDEPLOY_WAIT_HEALTHY" = true ]; then
wait_for_healthy "$REDEPLOY_TIMEOUT" "${changed_services[@]}"
# 👉 feste Wartezeit
if [ "${REDEPLOY_WAIT:-0}" -gt 0 ]; then
log INFO " ⏳ Warte ${REDEPLOY_WAIT}s nach Deploy"
sleep "$REDEPLOY_WAIT"
fi
# 👉 optionaler Healthcheck
if [ "$REDEPLOY_WAIT_HEALTHY" = true ]; then
wait_for_healthy "$REDEPLOY_WAIT_HEALTHY_TIMEOUT" "${changed_services[@]}"
fi
# 👉 gestoppte wieder stoppen
for svc in "${services[@]}"; do
if [ "${was_running[$svc]}" = 0 ]; then
log INFO " ⏹️ Stoppe $svc (war vorher gestoppt)"
@@ -414,6 +429,7 @@ while IFS= read -r -d '' file; do
fi
fi
# =============================
# Baum für ntfy bauen
# =============================