From 9365725f30b4c0d2f7210c14189bc9238d09109c Mon Sep 17 00:00:00 2001 From: Thorsten Date: Tue, 31 Mar 2026 15:19:15 +0200 Subject: [PATCH] . --- README.md | 18 +++++++++++++----- config.conf | 9 ++++++--- shell_docker_compose_update.sh | 22 +++++++++++++++++++--- 3 files changed, 38 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index 057aa6e..d1c5923 100644 --- a/README.md +++ b/README.md @@ -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 `) + - **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 # ---------------------------------------------------------- diff --git a/config.conf b/config.conf index 71d75d4..243c735 100644 --- a/config.conf +++ b/config.conf @@ -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 # ---------------------------------------------------------- diff --git a/shell_docker_compose_update.sh b/shell_docker_compose_update.sh index d51ee36..591aca4 100644 --- a/shell_docker_compose_update.sh +++ b/shell_docker_compose_update.sh @@ -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 # =============================