diff --git a/shell_docker_compose_update.sh b/shell_docker_compose_update.sh index a5e38ec..fbdda66 100644 --- a/shell_docker_compose_update.sh +++ b/shell_docker_compose_update.sh @@ -158,9 +158,7 @@ get_docker_disk_usage() { fi done < <(docker system df --format '{{.Size}}' 2>/dev/null) - log DEBUG "Docker usage raw: $total MB" - - printf "%.0f\n" "$total" + LC_NUMERIC=C printf "%.0f\n" "$total" } # ============================= @@ -236,7 +234,7 @@ while IFS= read -r -d '' file; do log INFO " $prefix $svc ($image)" before_id=$(get_container_image_id "$svc") - before_ref=$(get_container_image_ref "$svc") + before_digest=$(docker inspect -f '{{.Image}}' "$(docker compose ps -q "$svc")" 2>/dev/null || echo "none") if ! docker pull "$image" >/dev/null 2>&1; then log ERROR " $prefix ❌ Pull fehlgeschlagen" @@ -252,12 +250,12 @@ while IFS= read -r -d '' file; do changed_services+=("$svc") if [ "$SHOW_VERSIONS" = true ]; then - log WARN " ⬆️ UPDATE" - log INFO " alt: $before_ref" + log INFO " ⬆️ UPDATE" + log INFO " alt: $before_digest" log INFO " neu: $after_digest" - version_report+=("$svc: ${before_ref##*@} → ${after_digest##*@}") + version_report+=("$svc: ${after_digest##*@} → ${after_digest##*@}") else - log WARN " ⬆️ UPDATE" + log INFO " ⬆️ UPDATE" fi fi done @@ -271,21 +269,31 @@ while IFS= read -r -d '' file; do if [ "$total_services" -eq 1 ]; then svc="${services[0]}" - log WARN " 🔄 Einzelcontainer-Update: $svc" + log INFO " 🔄 Einzelcontainer-Update: $svc" if [ "${was_running[$svc]}" = 1 ]; then - run_cmd docker compose up -d "$svc" --remove-orphans --no-color >/dev/null 2>&1 + if ! run_cmd docker compose up -d "$svc" --remove-orphans --no-color >/dev/null 2>&1; then + log ERROR " ❌ Update fehlgeschlagen für $svc" + error_flag=true + else + log INFO " ✔️ Container $svc aktualisiert" + fi else - run_cmd docker compose create "$svc" + if ! run_cmd docker compose create "$svc" >/dev/null 2>&1; then + log ERROR " ❌ Create fehlgeschlagen für $svc" + error_flag=true + else + log INFO " ✔️ Container $svc aktualisiert (gestoppt)" + fi fi - log INFO " ✔️ Container aktualisiert" notify_stacks_updated+=("$stack ($svc)") else - log WARN " 🔄 Stack wird neu deployt (Trigger: ${changed_services[*]})" + log INFO " 🔄 Stack wird neu deployt (Trigger: ${changed_services[*]})" - if ! run_cmd docker compose up -d --remove-orphans >/dev/null 2>&1; then + log INFO " ⏳ Deploy läuft..." + if ! run_cmd docker compose up -d --remove-orphans --no-color >/dev/null 2>&1; then log ERROR " ❌ Stack Update fehlgeschlagen" error_flag=true else