This commit is contained in:
2026-04-01 12:19:58 +02:00
parent b4006cdeec
commit f93fb53638
2 changed files with 26 additions and 20 deletions

View File

@@ -6,19 +6,19 @@
---
Dieses Script überprüft mehrere Docker-Compose-Stacks auf Image-Updates und aktualisiert diese automatisch.
> 🔧 Automatisches Update von Docker-Compose-Stacks mit feingranularer Steuerung per Labels
## 🚀 Features
- 🔄 Stack-basiertes Update
- 🔄 **Stack-basiertes Update**
Aktualisiert komplette Docker-Compose Stacks strukturiert und kontrolliert
- 🧪 Dry-Run Modus
- 🧪 **Dry-Run Modus**
Zeigt an, was passieren würde, ohne Änderungen durchzuführen
- 📲 ntfy Benachrichtigungen
- 📲 **ntfy Benachrichtigungen**
Push-Notifications über ntfy bei Updates, Fehlern oder Status
- ⚙️ Service-Modi (per Label steuerbar)
- ⚙️ **Service-Modi** (per Label steuerbar)
Einzelne Container oder komplette Stacks gezielt vom Update ausschließen
- 🗑️ Prune Funktion
- 🗑️ **Prune Funktion**
Entfernt nicht mehr benötigte Images/Container automatisch
@@ -41,7 +41,7 @@ Entfernt nicht mehr benötigte Images/Container automatisch
- Compose-Konfiguration wird ausgewertet (`docker compose config`)
- Services und deren Images werden ermittelt
- Für jedes Image:
- Image wird (einmal pro Stack) gepullt (`docker pull`, nutzt Cache)
- Image wird bei Bedarf gepullt (maximal einmal pro Image und Stack, Cache-basiert)
- Lokale Image-ID wird ermittelt
- Image-ID des vorhandenen Containers wird ermittelt (auch für gestoppte Container)
4. Entscheidungslogik:
@@ -59,9 +59,12 @@ Entfernt nicht mehr benötigte Images/Container automatisch
6. Sonderverhalten:
- Gestoppte Container werden ebenfalls geprüft und bei Updates berücksichtigt
- Gestoppte Container werden nach dem Update optional wieder gestoppt
- Excluded Services werden gepullt, aber **nicht** neu gestartet.
Verfügbare Updates werden erkannt und per NTFY gemeldet.
- Healthchecks können optional abgewartet werden
- Service-Verhalten wird vollständig über Labels gesteuert (`composeupdater.mode`)
- Je nach Modus werden Services:
- komplett ignoriert (`ignore`)
- nur überwacht (`notify-only`)
- oder automatisch aktualisiert (`update`)
---
@@ -139,7 +142,7 @@ services:
- composeupdater.mode=update
```
#### 📦 Stack-Level Label (optional)
#### 📦 Stack-Level Label
Du kannst das Verhalten auch für den gesamten Stack setzen:
@@ -147,6 +150,9 @@ Du kannst das Verhalten auch für den gesamten Stack setzen:
labels:
- composeupdater.mode=ignore
```
Das Stack-Level Label definiert den Standard für alle Services im Stack
Service-Labels können diesen Standard überschreiben
---