3.9 KiB
Backup und Wiederherstellung
Athena
mike-ai-backup erzeugt alle fünf Stunden ein Archiv unter
/data/docker-backups und behält 14 Tage. Gesichert werden:
/etc/mike-aimit lokaler Konfiguration,- Router-Zustand und erzeugte Bilder,
- Piper-Daten,
- der kanonische Stack als zusätzlicher Snapshot.
Nicht in das Archiv gehören die großen Modellgewichte unter /data/models.
Sie bleiben auf der Daten-SSD oder werden anhand der gepinnten Angaben in
config/install.env.example erneut geladen. Die Dashboard-Historie liegt
dauerhaft unter /data/llama-dashboard.
Für FLUX.2 Klein 9B müssen vor einem erneuten Download die Bedingungen der
beiden Black-Forest-Labs-Repositories im Hugging-Face-Konto akzeptiert sein.
Außerdem muss die in HF_TOKEN_FILE angegebene Token-Datei wiederhergestellt
oder neu erzeugt werden. Der Token selbst ist absichtlich nicht Bestandteil
des Git-Repositories oder des Athena-Backups.
Portainers lokale Konfiguration liegt im Docker-Volume portainer_data und
wird zusammen mit den übrigen nicht reproduzierbaren Volumes gesichert und
wiederhergestellt.
Neuaufbau
-
Debian installieren und
/datawieder am bisherigen Pfad einhängen. -
Dieses Repository klonen.
-
Installationsdatei ausfüllen und Installation starten:
sudo ./install.sh --config /root/mike-ai-install.env -
Letztes Datenarchiv einspielen:
sudo ./restore.sh --check /data/docker-backups/athena-latest.tar.gz sudo ./restore.sh /data/docker-backups/athena-latest.tar.gz sudo ./smoke-test.sh
--check liest das komplette gzip-Archiv und prüft dessen sichere
/backup-Struktur sowie die benötigten Konfigurations- und Volume-Bäume, ohne
Container oder Dateien zu verändern. Der reguläre Restore extrahiert und
verwendet anschließend ausschließlich diesen einen geprüften Baum.
Das Restore verändert weder SSH noch LAN, WireGuard, Kernel, Partitionen oder Mounts.
Unraid
Hermes und die Fach-MCPs sind kein Bestandteil des Athena-Backups. Sie werden durch das vorhandene Unraid-Appdata-Backup gesichert:
/mnt/nvme-storage/appdata/Hermes-Agent- die jeweiligen Appdata-Verzeichnisse der MCP-Container
- DockerMan-Templates unter
/boot/config/plugins/dockerMan/templates-user/
Container-Images stammen aus den dokumentierten Registries beziehungsweise den eigenen Gitea-Repositories. Damit besteht die Wiederherstellung aus Appdata-Restore plus Neuerstellung über die jeweilige Template-XML.
Hermes Cron/Bot-Chat auf Unraid
Der offizielle Hermes-Build 0.21.0 mit Upstream-Stand 4b30b917 entfernt im
Cron-Zustellprozess fälschlich HERMES_HOME. Bei einem Docker-Datenverzeichnis
unter /opt/data findet deliver=bot-chat:<profil> dadurch vorhandene Profile
nicht. Bis zur Übernahme des Upstream-Fixes bindet die Unraid-Vorlage dieses
idempotente Startskript ein:
- Host:
/mnt/nvme-storage/appdata/Hermes-Agent/patches/025-cron-profile-root-fix - Container:
/etc/cont-init.d/025-cron-profile-root-fix(read-only) - Quelle:
platform/hermes/025-cron-profile-root-fix
Das Skript entfernt nur die bekannte fehlerhafte Zeile. Ist sie in einem neuen
Image nicht mehr vorhanden, bleibt der Workaround automatisch wirkungslos. Es
stellt außerdem /usr/local/bin/hermes wieder her, weil der offizielle
Container den vom eigenen Doctor erwarteten CLI-Link derzeit nicht anlegt.
Nach einem Restore die Datei mit Modus 0755 ins Appdata kopieren, den Mount in
der DockerMan-Vorlage kontrollieren und den Container neu erstellen. Prüfung:
docker logs Hermes-Agent 2>&1 | grep cron-profile-root-fix
docker exec Hermes-Agent hermes cron doctor
Kontrolle
docker compose --env-file /etc/mike-ai/stack.env ps
sudo ./restore.sh --check /data/docker-backups/athena-latest.tar.gz
curl -fsS http://192.168.1.212:8099/health
sudo ./smoke-test.sh
Anschließend einen Hermes-Chat, einen Router-Aufruf und je eine kleine read-only-Abfrage der benötigten MCPs testen.