This commit is contained in:
2026-03-30 19:17:36 +02:00
parent 6635d8a0be
commit f1c2abb411
3 changed files with 437 additions and 305 deletions

View File

@@ -1,87 +1,79 @@
# =============================
# =============================
# Pfade
# =============================
# =========================================================
# DOCKER COMPOSE UPDATER - CONFIG
# =========================================================
# Pfad zu deinen Compose-Files
COMPOSE_DIR="/pfad/zu/deinen/stacks"
# Logging
LOG_FILE="/pfad/zum/log/update.log"
LOG_LEVEL="INFO" # DEBUG=sehr detailliert, INFO=Standard, WARN=nur wichtige Hinweise/Updates, ERROR=nur Fehler
# Dateimuster
COMPOSE_PATTERN="docker-compose.yml"
# ---------------------------------------------------------
# PATH
# ---------------------------------------------------------
# =============================
# =============================
# Allgemein Einstellungen
# =============================
PATH_COMPOSE_DIR="/pfad/zu/deinen/stacks" # Basisverzeichnis der Stacks
PATH_COMPOSE_PATTERN="*compose*.yml" # Compose-Dateiname
# Verhalten bei gestoppten Containern
UPDATE_STOPPED=true # Image aktualisieren
START_STOPPED=false # danach NICHT starten
# Dry Run (true/false)
DRY_RUN=false
# ---------------------------------------------------------
# LOG
# ---------------------------------------------------------
# =============================
# =============================
# Exclude
# =============================
LOG_FILE="/pfad/zum/log/update.log" # Log-Datei
LOG_LEVEL="INFO" # DEBUG [ INFO | WARN | ERROR ]
# Exclude Container
EXCLUDE_SERVICES=(
"example_container_1"
"example_container_2"
)
# Exclude Stack
EXCLUDE_STACKS=(
# ---------------------------------------------------------
# UPDATE
# ---------------------------------------------------------
UPDATE_DRY_RUN=false # Nur Simulation, keine Änderungen [ true | false ]
UPDATE_INCLUDE_STOPPED=true # Gestoppte Container updaten [ true | false ]
UPDATE_START_STOPPED=false # Danach wieder starten [ true | false ]
# ---------------------------------------------------------
# REDEPLOY
# ---------------------------------------------------------
REDEPLOY_WAIT_HEALTHY=true # Warten bis Container healthy [ true | false ]
REDEPLOY_TIMEOUT=60 # Timeout in Sekunden [ Sekunden ]
# ---------------------------------------------------------
# EXCLUDES
# ---------------------------------------------------------
EXCLUDE_STACKS=( # Liste mit ganzen Stacks die nicht geupdated werden
"example_stack_1"
"example_stack_2"
)
# =============================
# =============================
# NTFY
# =============================
EXCLUDE_SERVICES=( # Liste mit einzelnen Containern die nicht geupdated werden
"example_container_1"
"example_container_2"
)
# ---------------------------------------------------------
# NTFY SETTINGS
# ---------------------------------------------------------
NTFY_ENABLED=true
NTFY_TITLE="Docker Update ($(hostname))"
NTFY_TOKEN="DEIN_TOKEN"
NTFY_URL="https://ntfy.example.com/topic"
NTFY_IMAGE_URL="http://dein-server/host-icon.png"
NTFY_TOKEN="DEIN_TOKEN"
NTFY_TITLE="Docker Update ($(hostname))"
NTFY_TAGS="docker,update"
NTFY_ONLY_ON_CHANGES=false
# Versions Nr. anzeigen (true/false)
SHOW_VERSIONS=true
NTFY_IMAGE_URL="http://dein-server/host-icon.png"
NTFY_ONLY_ON_CHANGES=false # Nur senden wenn Updates vorhanden
NTFY_SHOW_VERSIONS=true # Versionsnummern anzeigen
# =============================
# =============================
# Docker Cleanup
# =============================
ENABLE_CLEANUP=true
CLEANUP_ONLY_ON_UPDATE=true
# ---------------------------------------------------------
# DOCKER CLEANUP
# ---------------------------------------------------------
# Images:
# 🟢 dangling → docker image prune (nur <none> Images)
# 🟢 unused → docker image prune -a (alle ungenutzten Images)
CLEANUP_IMAGES=true
CLEANUP_IMAGES_MODE="unused" # dangling | unused
CLEANUP_ENABLED=true # Aktivieren [ true | false ]
CLEANUP_ONLY_ON_UPDATE=true # Nur nach Updates ausführen [ true | false ]
# Container:
# entfernt gestoppte Container
# 🟢 docker container prune
CLEANUP_CONTAINERS=true
CLEANUP_IMAGES_ENABLED=true # Images löschen [ true | false ]
CLEANUP_IMAGES_MODE="unused" # Methode [ dangling | unused ]
# Volume:
# entfernt ungenutzte Volumes
# ⚠️ kann Daten löschen
CLEANUP_VOLUMES=false
# Networks:
# entfernt ungenutzte Netzwerke
# 🟢 meist unkritisch
CLEANUP_NETWORKS=true
# =============================
CLEANUP_CONTAINERS_ENABLED=true # Container löschen [ true | false ]
CLEANUP_VOLUMES_ENABLED=false # Volumes löschen [ true | false ]
CLEANUP_NETWORKS_ENABLED=true # Networks löschen [ true | false ]