This commit is contained in:
2026-04-01 11:56:27 +02:00
parent 38b5371b81
commit b4006cdeec
3 changed files with 175 additions and 49 deletions

104
README.md
View File

@@ -16,7 +16,7 @@ Aktualisiert komplette Docker-Compose Stacks strukturiert und kontrolliert
Zeigt an, was passieren würde, ohne Änderungen durchzuführen
- 📲 ntfy Benachrichtigungen
Push-Notifications über ntfy bei Updates, Fehlern oder Status
- Exclude-Liste
- Service-Modi (per Label steuerbar)
Einzelne Container oder komplette Stacks gezielt vom Update ausschließen
- 🗑️ Prune Funktion
Entfernt nicht mehr benötigte Images/Container automatisch
@@ -65,6 +65,91 @@ Entfernt nicht mehr benötigte Images/Container automatisch
---
## ⚙️ Service-Modi (per Label steuerbar)
Du kannst das Verhalten einzelner Services oder ganzer Stacks über Labels steuern:
```yml
labels:
- composeupdater.mode=update
```
### 📊 Übersicht
| Mode | Pull | Compare | Update | ntfy |
| ----------- | ---- | ------- | ------ | ---- |
| update | ✅ | ✅ | ✅ | ✅ |
| notify-only | ✅ | ✅ | ❌ | ✅ |
| ignore | ❌ | ❌ | ❌ | ❌ |
### 🧠 Erklärung der Modi
🔄 `update` (**Standard**)
- Images werden gepullt
- Lokales Image wird mit dem Container verglichen
- Bei Änderungen wird der Service bzw. Stack aktualisiert
- ntfy-Benachrichtigung wird gesendet
🔔 `notify-only`
- Image wird gepullt (für Vergleich notwendig)
- Es wird geprüft, ob ein Update verfügbar ist
- Kein Container-Update / kein Restart
- ntfy informiert über verfügbare Updates
🚫 `ignore`
- Service wird komplett ignoriert
- Kein Pull
- Kein Vergleich
- Kein Update
- Keine Benachrichtigung
### 🧩 Beispiele
#### Service ausschließen (komplett ignorieren)
```yml
services:
db:
image: postgres:15
labels:
- composeupdater.mode=ignore
```
#### Nur Benachrichtigung, kein automatisches Update
```yml
services:
app:
image: myapp:latest
labels:
- composeupdater.mode=notify-only
```
#### Explizit Standardverhalten setzen
```yml
services:
web:
image: nginx:latest
labels:
- composeupdater.mode=update
```
#### 📦 Stack-Level Label (optional)
Du kannst das Verhalten auch für den gesamten Stack setzen:
```yml
labels:
- composeupdater.mode=ignore
```
---
## 🗑️ Prune / Cleanup
Nach Abschluss der Updates kann optional ein Docker Cleanup durchgeführt werden.
@@ -161,23 +246,6 @@ REDEPLOY_WAIT_HEALTHY=true
REDEPLOY_WAIT_HEALTHY_TIMEOUT=60
# ----------------------------------------------------------
# EXCLUDES
# ----------------------------------------------------------
# Stacks vom Update ausschließen [ Array ]
EXCLUDE_STACKS=(
"example_stack_1"
"example_stack_2"
)
# Services vom Update ausschließen [ Array ]
EXCLUDE_SERVICES=(
"example_container_1"
"example_container_2"
)
# ----------------------------------------------------------
# NTFY SETTINGS
# ----------------------------------------------------------