.
This commit is contained in:
118
README.md
118
README.md
@@ -31,6 +31,65 @@ Spart Bandbreite, Zeit und unnötige Layer-Downloads
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Funktionsweise
|
||||
|
||||
1. Alle `*compose*.yml` Dateien werden rekursiv gefunden
|
||||
2. Verarbeitung erfolgt alphabetisch (deterministische Reihenfolge)
|
||||
3. Für jeden Stack:
|
||||
- Compose-Konfiguration wird ausgewertet (docker compose config)
|
||||
- Verwendete Images werden extrahiert
|
||||
- Für jedes Image:
|
||||
- Remote-Digest wird aus der Registry abgefragt
|
||||
- Lokaler Digest wird ermittelt
|
||||
- Vergleich lokal vs. remote
|
||||
4. Entscheidungslogik:
|
||||
- ❌ Kein Unterschied → kein Pull, kein Restart
|
||||
- ✅ Digest unterschiedlich → Image wird gepullt
|
||||
5. Wenn mindestens ein Service ein Update hat:
|
||||
- kompletter Stack wird neu deployed (docker compose up -d)
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Verhalten im Detail
|
||||
- Kein unnötiger Netzwerk-Traffic (kein blindes docker pull)
|
||||
- Updates erfolgen nur bei tatsächlichen Änderungen
|
||||
- Mehrere Services im Stack → einheitlicher Redeploy, kein Teilzustand
|
||||
- Optional: Dry-Run zeigt exakt diese Entscheidungen ohne Ausführung
|
||||
|
||||
---
|
||||
|
||||
## 🗑️ Prune / Cleanup
|
||||
|
||||
Nach Abschluss der Updates kann optional ein Docker Cleanup durchgeführt werden.
|
||||
Dabei werden ungenutzte Ressourcen entfernt:
|
||||
|
||||
- `docker image prune`
|
||||
→ entfernt ungenutzte („dangling“) Images
|
||||
|
||||
- `docker image prune -a`
|
||||
→ entfernt alle Images, die von keinem Container verwendet werden
|
||||
|
||||
- `docker container prune`
|
||||
→ entfernt gestoppte Container
|
||||
|
||||
- `docker volume prune`
|
||||
→ entfernt ungenutzte Volumes
|
||||
|
||||
- `docker network prune`
|
||||
→ entfernt ungenutzte Netzwerke
|
||||
|
||||
---
|
||||
|
||||
## 🔔 ntfy Prioritäten
|
||||
|
||||
| Zustand | Priorität |
|
||||
|----------------------|----------|
|
||||
| ✔️ Keine Updates | 1 |
|
||||
| 🔄 Updates vorhanden | 3 |
|
||||
| ❌ Fehler | 5 |
|
||||
|
||||
---
|
||||
|
||||
## ⚙️ Konfiguration (`config.conf`)
|
||||
|
||||
```bash
|
||||
@@ -169,65 +228,6 @@ chmod +x script.sh
|
||||
|
||||
---
|
||||
|
||||
## 🧠 Funktionsweise
|
||||
|
||||
1. Alle `*compose*.yml` Dateien werden rekursiv gefunden
|
||||
2. Verarbeitung erfolgt alphabetisch (deterministische Reihenfolge)
|
||||
3. Für jeden Stack:
|
||||
- Compose-Konfiguration wird ausgewertet (docker compose config)
|
||||
- Verwendete Images werden extrahiert
|
||||
- Für jedes Image:
|
||||
- Remote-Digest wird aus der Registry abgefragt
|
||||
- Lokaler Digest wird ermittelt
|
||||
- Vergleich lokal vs. remote
|
||||
4. Entscheidungslogik:
|
||||
- ❌ Kein Unterschied → kein Pull, kein Restart
|
||||
- ✅ Digest unterschiedlich → Image wird gepullt
|
||||
5. Wenn mindestens ein Service ein Update hat:
|
||||
- kompletter Stack wird neu deployed (docker compose up -d)
|
||||
|
||||
---
|
||||
|
||||
## ⚡ Verhalten im Detail
|
||||
- Kein unnötiger Netzwerk-Traffic (kein blindes docker pull)
|
||||
- Updates erfolgen nur bei tatsächlichen Änderungen
|
||||
- Mehrere Services im Stack → einheitlicher Redeploy, kein Teilzustand
|
||||
- Optional: Dry-Run zeigt exakt diese Entscheidungen ohne Ausführung
|
||||
|
||||
---
|
||||
|
||||
## 🗑️ Prune / Cleanup
|
||||
|
||||
Nach Abschluss der Updates kann optional ein Docker Cleanup durchgeführt werden.
|
||||
Dabei werden ungenutzte Ressourcen entfernt:
|
||||
|
||||
- `docker image prune`
|
||||
→ entfernt ungenutzte („dangling“) Images
|
||||
|
||||
- `docker image prune -a`
|
||||
→ entfernt alle Images, die von keinem Container verwendet werden
|
||||
|
||||
- `docker container prune`
|
||||
→ entfernt gestoppte Container
|
||||
|
||||
- `docker volume prune`
|
||||
→ entfernt ungenutzte Volumes
|
||||
|
||||
- `docker network prune`
|
||||
→ entfernt ungenutzte Netzwerke
|
||||
|
||||
---
|
||||
|
||||
## 🔔 ntfy Prioritäten
|
||||
|
||||
| Zustand | Priorität |
|
||||
|----------------------|----------|
|
||||
| ✔️ Keine Updates | 1 |
|
||||
| 🔄 Updates vorhanden | 3 |
|
||||
| ❌ Fehler | 5 |
|
||||
|
||||
---
|
||||
|
||||
## 📄 Beispiel Ausgabe
|
||||
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user