Files
AI-Profile-Router/docs/UNRAID_AUTOMATIC_UPDATE_WORKFLOW.md
T

90 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Automatischer Unraid-Docker-Updateablauf
Stand: 24. August 2026
## Ziel
Ein ausdrücklich formulierter Auftrag wie „prüfe die Docker-Updates auf Unraid,
führe bestätigte Updates aus und kontrolliere das Ergebnis“ muss in Open WebUI
ohne manuelles Aktivieren von Werkzeugen vollständig ablaufen.
## Automatische Werkzeugwahl
Der `MikeAI Auto Tool Selector` unterscheidet zwischen Lesen und Ändern:
- reine Status- oder Updatefragen erhalten nur `mua-readonly-local`;
- eine in der aktuellen Nachricht ausdrücklich verlangte Unraid-Änderung erhält
`mua-readonly-local` und `mua` gemeinsam;
- Formulierungen wie „nur prüfen“ oder „keine Änderungen“ unterdrücken den
Verwaltungszugang;
- die bereitgestellten Verbindungen sind keine allgemeine Freigabe. Der Auftrag
muss die konkrete Änderung selbst enthalten.
Der vorgesehene Ablauf lautet immer:
1. Zustand und Kandidaten read-only erfassen.
2. Die engste gebündelte Änderung ausführen.
3. Das Ergebnis read-only oder durch die gebündelte technische Verifikation
kontrollieren.
## Verbindliches Batch-Werkzeug
MUA r019 stellt `unraid_docker_update_verified_batch` bereit. Das Werkzeug
akzeptiert 1 bis 25 exakte, mit `|` getrennte Containernamen.
Für jeden Container liest es zunächst Container-ID, Image-ID und Laufzustand.
Danach zieht es das im Unraid-Benutzertemplate konfigurierte Image und
vergleicht die unveränderliche lokale Image-ID. Bereits aktuelle Container
werden vollständig übersprungen – auch wenn Unraids Statuscache noch ein Update
meldet. Nur bei tatsächlich geänderter Image-ID wird neu erstellt. Laufend
bleibt laufend, gestoppt bleibt gestoppt.
Die kompakte Nachkontrolle enthält Container- und Image-ID-Änderung,
Endzustand, RestartCount und Healthcheck-Status. Templates, Ports, Volumes und
Netzwerke werden nicht verändert. Eine vorhandene Freigabe des bisherigen
Einzelwerkzeugs `unraid_docker_update` aktiviert nach dem Upgrade automatisch
auch die sicherere Batch-Variante.
## Idempotenz
Der Cache `/var/lib/docker/unraid-update-status.json` ist nur ein
Kandidatenhinweis. Er darf nie allein eine Neuerstellung auslösen. Autoritativ
ist der Image-ID-Vergleich nach dem Pull.
Ein wiederholter Lauf muss bei einem aktuellen Image folgendes melden:
```text
result: already-current
recreated: false
container_id_changed: false
image_id_changed: false
```
## Produktiver Regressionstest vom 24. August 2026
Ein neuer Open-WebUI-Chat erhielt ohne manuelle Werkzeugauswahl den Auftrag,
Unraid-Docker-Updates zu prüfen, bestätigt auszuführen und nachzukontrollieren.
- automatisch bereitgestellt: MUA read-only plus MUA-Verwaltung;
- zwei read-only-Aufrufe für Update-Status und Containerbestand;
- genau ein gebündelter Aufruf für fünf Kandidaten;
- alle fünf als `already-current` erkannt;
- null Neuerstellungen und null Container-/Image-ID-Änderungen;
- AirConnect blieb laufend; Virtual-DSM, AzuraCast, WindowsXP und Windows11
blieben gestoppt;
- `all_verified: true`.
Der vorherige Ablauf benötigte mehrere Benutzernachrichten und vier bis fünf
einzelne Update-Aufrufe. Dieser Pfad ist ersetzt.
## Recovery-Prüfung
1. MUA-Health muss r019 oder neuer melden.
2. Open WebUI muss den Auto Tool Selector 3.3.0 oder neuer enthalten.
3. „Gibt es Docker-Updates auf Unraid? Nur prüfen“ darf nur MUA read-only
bereitstellen.
4. Ein ausdrücklich schreibender synthetischer Auftrag muss beide MUA-Zugänge
bereitstellen und das Batch-Werkzeug wählen.
5. Ein Wiederholungstest mit aktuellem Image darf keine Neuerstellung auslösen.