.
This commit is contained in:
119
README.md
119
README.md
@@ -34,85 +34,128 @@ Spart Bandbreite, Zeit und unnötige Layer-Downloads
|
||||
## ⚙️ Konfiguration (`config.conf`)
|
||||
|
||||
```bash
|
||||
# =========================================================
|
||||
# ==========================================================
|
||||
# DOCKER COMPOSE UPDATER - CONFIG
|
||||
# =========================================================
|
||||
# ==========================================================
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# PATH
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
PATH_COMPOSE_DIR="/pfad/zu/deinen/stacks" # Basisverzeichnis der Stacks
|
||||
PATH_COMPOSE_PATTERN="*compose*.yml" # Compose-Dateiname
|
||||
# Basisverzeichnis der Stacks [ String ]
|
||||
PATH_COMPOSE_DIR="/pfad/zu/deinen/stacks"
|
||||
|
||||
# Compose-Dateiname [ String ]
|
||||
PATH_COMPOSE_PATTERN="*compose*.yml"
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# LOG
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
LOG_FILE="/pfad/zum/log/update.log" # Log-Datei
|
||||
LOG_LEVEL="INFO" # DEBUG [ INFO | WARN | ERROR ]
|
||||
# Log-Datei [ String ]
|
||||
LOG_FILE="/pfad/zum/log/update.log"
|
||||
|
||||
# Log-Level [ DEBUG | INFO | WARN | ERROR ]
|
||||
LOG_LEVEL="INFO"
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# 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 ]
|
||||
# Nur Simulation, keine Änderungen [ true | false ]
|
||||
UPDATE_DRY_RUN_ENABLED=false
|
||||
|
||||
# Gestoppte Container updaten [ true | false ]
|
||||
UPDATE_INCLUDE_STOPPED=true
|
||||
|
||||
# Danach wieder starten [ true | false ]
|
||||
UPDATE_START_STOPPED=false
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# REDEPLOY
|
||||
# ---------------------------------------------------------
|
||||
REDEPLOY_WAIT_HEALTHY=true # Warten bis Container healthy [ true | false ]
|
||||
REDEPLOY_TIMEOUT=60 # Timeout in Sekunden [ Sekunden ]
|
||||
# ----------------------------------------------------------
|
||||
|
||||
# Warten bis Container healthy [ true | false ]
|
||||
REDEPLOY_WAIT_HEALTHY=true
|
||||
|
||||
# Timeout in Sekunden [ Number ]
|
||||
REDEPLOY_TIMEOUT=60
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# EXCLUDES
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
EXCLUDE_STACKS=( # Liste mit ganzen Stacks die nicht geupdated werden
|
||||
# Stacks vom Update ausschließen [ Array ]
|
||||
EXCLUDE_STACKS=(
|
||||
"example_stack_1"
|
||||
"example_stack_2"
|
||||
)
|
||||
|
||||
EXCLUDE_SERVICES=( # Liste mit einzelnen Containern die nicht geupdated werden
|
||||
# Services vom Update ausschließen [ Array ]
|
||||
EXCLUDE_SERVICES=(
|
||||
"example_container_1"
|
||||
"example_container_2"
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# NTFY SETTINGS
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
NTFY_ENABLED=true
|
||||
NTFY_URL="https://ntfy.example.com/topic"
|
||||
# NTFY Zusammenfassung senden [ true | false ]
|
||||
NTFY_ENABLED=true
|
||||
|
||||
# Server URL [ String ]
|
||||
NTFY_URL="https://ntfy.example.com/topic"
|
||||
|
||||
# Token [ String ]
|
||||
NTFY_TOKEN="DEIN_TOKEN"
|
||||
|
||||
# Titel mitsenden (optional) [ String ]
|
||||
NTFY_TITLE="Docker Update ($(hostname))"
|
||||
|
||||
# Tags mitsenden (optional) [ String ]
|
||||
NTFY_TAGS="docker,update"
|
||||
|
||||
# Icon mitsenden (optional) [ String ]
|
||||
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
|
||||
|
||||
# Nur senden wenn Updates vorhanden [ true | false ]
|
||||
NTFY_ONLY_ON_CHANGES=false
|
||||
|
||||
# Versionsnummern anzeigen [ true | false ]
|
||||
NTFY_SHOW_VERSIONS=true
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# DOCKER CLEANUP
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
CLEANUP_ENABLED=true # Aktivieren [ true | false ]
|
||||
CLEANUP_ONLY_ON_UPDATE=true # Nur nach Updates ausführen [ true | false ]
|
||||
# Prune Befehle ausführen [ true | false ]
|
||||
CLEANUP_ENABLED=true
|
||||
|
||||
CLEANUP_IMAGES_ENABLED=true # Images löschen [ true | false ]
|
||||
CLEANUP_IMAGES_MODE="unused" # Methode [ dangling | unused ]
|
||||
# Nur nach erfolgten Updates ausführen [ true | false ]
|
||||
CLEANUP_ONLY_ON_UPDATE=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 ]
|
||||
# Images löschen [ true | false ]
|
||||
CLEANUP_IMAGES_ENABLED=true
|
||||
|
||||
# Image-Prune Modus [ dangling | unused ]
|
||||
CLEANUP_IMAGES_MODE="unused"
|
||||
|
||||
# Container löschen [ true | false ]
|
||||
CLEANUP_CONTAINERS_ENABLED=true
|
||||
|
||||
# Volumes löschen [ true | false ]
|
||||
CLEANUP_VOLUMES_ENABLED=false
|
||||
|
||||
# Networks löschen [ true | false ]
|
||||
CLEANUP_NETWORKS_ENABLED=true
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
119
config.conf
119
config.conf
@@ -1,79 +1,122 @@
|
||||
# =========================================================
|
||||
# ==========================================================
|
||||
# DOCKER COMPOSE UPDATER - CONFIG
|
||||
# =========================================================
|
||||
# ==========================================================
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# PATH
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
PATH_COMPOSE_DIR="/pfad/zu/deinen/stacks" # Basisverzeichnis der Stacks
|
||||
PATH_COMPOSE_PATTERN="*compose*.yml" # Compose-Dateiname
|
||||
# Basisverzeichnis der Stacks [ String ]
|
||||
PATH_COMPOSE_DIR="/pfad/zu/deinen/stacks"
|
||||
|
||||
# Compose-Dateiname [ String ]
|
||||
PATH_COMPOSE_PATTERN="*compose*.yml"
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# LOG
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
LOG_FILE="/pfad/zum/log/update.log" # Log-Datei
|
||||
LOG_LEVEL="INFO" # DEBUG [ INFO | WARN | ERROR ]
|
||||
# Log-Datei [ String ]
|
||||
LOG_FILE="/pfad/zum/log/update.log"
|
||||
|
||||
# Log-Level [ DEBUG | INFO | WARN | ERROR ]
|
||||
LOG_LEVEL="INFO"
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# 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 ]
|
||||
# Nur Simulation, keine Änderungen [ true | false ]
|
||||
UPDATE_DRY_RUN_ENABLED=false
|
||||
|
||||
# Gestoppte Container updaten [ true | false ]
|
||||
UPDATE_INCLUDE_STOPPED=true
|
||||
|
||||
# Danach wieder starten [ true | false ]
|
||||
UPDATE_START_STOPPED=false
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# REDEPLOY
|
||||
# ---------------------------------------------------------
|
||||
REDEPLOY_WAIT_HEALTHY=true # Warten bis Container healthy [ true | false ]
|
||||
REDEPLOY_TIMEOUT=60 # Timeout in Sekunden [ Sekunden ]
|
||||
# ----------------------------------------------------------
|
||||
|
||||
# Warten bis Container healthy [ true | false ]
|
||||
REDEPLOY_WAIT_HEALTHY=true
|
||||
|
||||
# Timeout in Sekunden [ Number ]
|
||||
REDEPLOY_TIMEOUT=60
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# EXCLUDES
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
EXCLUDE_STACKS=( # Liste mit ganzen Stacks die nicht geupdated werden
|
||||
# Stacks vom Update ausschließen [ Array ]
|
||||
EXCLUDE_STACKS=(
|
||||
"example_stack_1"
|
||||
"example_stack_2"
|
||||
)
|
||||
|
||||
EXCLUDE_SERVICES=( # Liste mit einzelnen Containern die nicht geupdated werden
|
||||
# Services vom Update ausschließen [ Array ]
|
||||
EXCLUDE_SERVICES=(
|
||||
"example_container_1"
|
||||
"example_container_2"
|
||||
)
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# NTFY SETTINGS
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
NTFY_ENABLED=true
|
||||
NTFY_URL="https://ntfy.example.com/topic"
|
||||
# NTFY Zusammenfassung senden [ true | false ]
|
||||
NTFY_ENABLED=true
|
||||
|
||||
# Server URL [ String ]
|
||||
NTFY_URL="https://ntfy.example.com/topic"
|
||||
|
||||
# Token [ String ]
|
||||
NTFY_TOKEN="DEIN_TOKEN"
|
||||
|
||||
# Titel mitsenden (optional) [ String ]
|
||||
NTFY_TITLE="Docker Update ($(hostname))"
|
||||
|
||||
# Tags mitsenden (optional) [ String ]
|
||||
NTFY_TAGS="docker,update"
|
||||
|
||||
# Icon mitsenden (optional) [ String ]
|
||||
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
|
||||
|
||||
# Nur senden wenn Updates vorhanden [ true | false ]
|
||||
NTFY_ONLY_ON_CHANGES=false
|
||||
|
||||
# Versionsnummern anzeigen [ true | false ]
|
||||
NTFY_SHOW_VERSIONS=true
|
||||
|
||||
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
# DOCKER CLEANUP
|
||||
# ---------------------------------------------------------
|
||||
# ----------------------------------------------------------
|
||||
|
||||
CLEANUP_ENABLED=true # Aktivieren [ true | false ]
|
||||
CLEANUP_ONLY_ON_UPDATE=true # Nur nach Updates ausführen [ true | false ]
|
||||
# Prune Befehle ausführen [ true | false ]
|
||||
CLEANUP_ENABLED=true
|
||||
|
||||
CLEANUP_IMAGES_ENABLED=true # Images löschen [ true | false ]
|
||||
CLEANUP_IMAGES_MODE="unused" # Methode [ dangling | unused ]
|
||||
# Nur nach erfolgten Updates ausführen [ true | false ]
|
||||
CLEANUP_ONLY_ON_UPDATE=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 ]
|
||||
# Images löschen [ true | false ]
|
||||
CLEANUP_IMAGES_ENABLED=true
|
||||
|
||||
# Image-Prune Modus [ dangling | unused ]
|
||||
CLEANUP_IMAGES_MODE="unused"
|
||||
|
||||
# Container löschen [ true | false ]
|
||||
CLEANUP_CONTAINERS_ENABLED=true
|
||||
|
||||
# Volumes löschen [ true | false ]
|
||||
CLEANUP_VOLUMES_ENABLED=false
|
||||
|
||||
# Networks löschen [ true | false ]
|
||||
CLEANUP_NETWORKS_ENABLED=true
|
||||
@@ -87,7 +87,7 @@ is_running() {
|
||||
}
|
||||
|
||||
run_cmd() {
|
||||
if [ "$UPDATE_DRY_RUN" = true ]; then
|
||||
if [ "$UPDATE_DRY_RUN_ENABLED" = true ]; then
|
||||
log DEBUG "[DRY RUN] $*"
|
||||
else
|
||||
eval "$@"
|
||||
|
||||
Reference in New Issue
Block a user