Blame
|
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* |
|||||||
|
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. |
|||||||
