Blame

504407 claude 2026-06-09 00:30:15
Auto-Update-System dokumentiert (Watchtower + unattended-upgrades + FileBrowser)
1
# Auto-Updates
2
3
Automatische Update-Suche + Installation über die Flotte, eingerichtet 2026-06-09. Strategie: **unkritische Docker-Dienste updaten sich selbst, kritische werden nur gemeldet, OS-Sicherheitspatches laufen automatisch.** Meldungen kommen per Telegram (Bot `@tradelscloud_bot`).
4
5
## 1. Watchtower (Docker-Container-Updates)
6
7
Image: **`ghcr.io/nicholas-fedor/watchtower:latest`** (gepflegter Fork; das alte `containrrr/watchtower` ist archiviert + zu alt für moderne Docker-APIs → crasht). Läuft als Container `watchtower` pro Docker-CT, täglich **04:00**, mit Image-Cleanup + Telegram-Notify.
8
9
### Auto-Update (installiert Updates selbst)
10
| CT | Dienst |
11
|----|--------|
12
| 108 | wiki (otterwiki) |
13
| 110 | termix |
14
| 122 | karakeep |
15
| 123 | cs16 |
16
| 124 | homarr |
17
| 126 | tdarr |
18
| 127 | security-monitoring (grafana/loki/promtail) |
19
| 105 | **nur** jellyseerr + sabnzbd (qbit/gluetun-VPN-Kette bleibt unangetastet) |
20
21
### Monitor-only (meldet nur, kein Auto-Update)
22
| CT | Dienst | Warum manuell |
23
|----|--------|---------------|
24
| 104 | immich | Version-gepinnt, Foto-DB-Migration |
25
| 113 | authelia | Auth-Schicht — Bruch sperrt alles aus |
26
| 125 | norish | eigene App + DB |
27
| 128 | bot (freqtrade) | nie unbeaufsichtigt mitten im Handel |
28
29
**Bedienung:**
30
- Status: `docker ps | grep watchtower` (im jeweiligen CT)
31
- Modus prüfen: `docker inspect watchtower --format '{{.Config.Env}}' | grep MONITOR`
32
- Sofort-Check erzwingen: `docker exec watchtower /watchtower --run-once` (oder Container neu starten)
33
- Auto→Monitor umstellen: Container neu deployen mit `-e WATCHTOWER_MONITOR_ONLY=true`
34
- Komplett deaktivieren: `docker rm -f watchtower`
35
36
## 2. OS-Sicherheitsupdates (unattended-upgrades)
37
38
Auf **allen** LXCs installiert + aktiviert (`/etc/apt/apt.conf.d/20auto-upgrades` mit Periodic Update+Unattended-Upgrade = "1"). Installiert Debian/Ubuntu-Security-Patches automatisch. Deckt auch native Dienste auf Paketebene ab (nginx, PHP, Jellyfin-falls-apt, openssh, …).
39
- Status prüfen: `systemctl status unattended-upgrades` / `cat /etc/apt/apt.conf.d/20auto-upgrades`
40
- Deaktivieren: Werte in `20auto-upgrades` auf "0" setzen.
41
42
## 3. FileBrowser (CT 103) — eigener Updater
43
44
FileBrowser ist ein Standalone-Binary (kein apt, kein Docker). Skript `/usr/local/bin/fb-autoupdate.sh` prüft **wöchentlich (Mo 04:30, `/etc/cron.d/fb-autoupdate`)** GitHub-Releases, tauscht das Binary (Backup als `filebrowser.bak-<version>`), startet den Dienst neu, rollt bei Fehler zurück, meldet per Telegram.
45
- Manuell auslösen: `pct exec 103 -- /usr/local/bin/fb-autoupdate.sh`
46
47
## NICHT automatisiert (bewusst, manuell/Notify)
48
- **Vaultwarden (121)** + **AzerothCore (119)**: aus Quellcode gebaut → brauchen Rebuild, kein Auto-Update. Nur OS-Patches.
49
- **Sonarr/Radarr/Prowlarr (105 nativ)**: haben eigenen eingebauten Updater (aktualisieren sich selbst).
50
- **Jellyfin (101)**: bewusst kein Auto-Major-Update (Plugin-Bruch-Gefahr); OS-Patches via unattended-upgrades.
51
52
*Stand: 2026-06-09*
3387d9 claude 2026-06-09 07:28:31
Auto-Updates: gepinnte-Tags-Hinweis + termix/grafana auf latest
53
54
## Wichtig: gepinnte Versions-Tags (Update 2026-06-09)
55
56
Watchtower aktualisiert nur **innerhalb desselben Tags**. Container auf festem Versions-Tag (z.B. `:13.0.1`, `:release-2.3.1`) werden NIE auto-aktualisiert (und nicht gemeldet). Bei "Dienst updatet nicht": `docker inspect <container> --format '{{.Config.Image}}'` prüfen.
57
58
- **termix** war auf `release-2.3.1` gepinnt → auf `:latest` umgestellt (Compose-Backup `docker-compose.yml.bak-prelatest-*`), aktualisiert sich jetzt automatisch.
59
- **Grafana-Stack** (CT 127) grafana/loki/promtail von festen Versionen auf `:latest` umgestellt → Auto-Update aktiv.
60
- **Bewusst gepinnt gelassen:** meilisearch (`v1.41.0`, Such-DB — Major-Update braucht Daten-Migration), karakeep-chrome (`:124`, unkritischer Helfer). Diese bei Bedarf manuell aktualisieren.
61
62
Umpinnen-Rezept: Tag in der Compose auf `:latest` ändern → `docker compose up -d` → verifizieren.