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