7.1 KiB
Backup und Wiederherstellung
Athena – geprüfter Sicherungsstand vom 16. September 2026
mike-ai-backup läuft und sichert im Fünf-Stunden-Takt nach
/data/docker-backups (14 Tage Aufbewahrung). Die aktuell geprüften Mounts sichern:
/etc/mike-aieinschließlich lokaler Konfiguration und Secrets,/opt/mike-aieinschließlich der bereitgestellten Checkouts,- die Volumes
router-images,router-stateundportainer_data.
Der neue WebRTC-Sprachadapter liegt unter
/opt/mike-ai/stack/services/athena-realtime-voice. Ein manueller Lauf der
vorhandenen Backup-Software am 16. September 2026 um 15:02 Uhr hat ihn
eingeschlossen: Im Archiv athena-2026-09-16T13-02-56.tar.gz wurden sowohl
compose.yaml als auch services/athena-realtime-voice/server.py geprüft.
Das OpenClaw-Plugin auf Unraid liegt außerhalb dieses Athena-Backups; seine
Quelle ist im Git-Repository unter integrations/openclaw-athena-talk erfasst.
Die produktiv installierte Version 1.3.0 liegt zusätzlich im persistenten
OpenClaw-Appdata. Vor ihrer Installation wurde die bisherige Version als
/mnt/nvme-storage/appdata/OpenClaw/config/plugin-backups/athena-talk-1.2.1-before-streaming.tar.gz
gesichert. Für eine Neuinstallation ist der im Git dokumentierte Build mit
openclaw plugins install <paket.tgz> --force --accept-capabilities zu
installieren; eine Änderung an OpenClaw-Core-Dateien ist nicht erforderlich.
Piper-Daten sind kein aktueller Sicherungsbestand. Modellgewichte unter
/data/models und das reproduzierbare Whisper-Volume gehören nicht zu diesen
Backup-Mounts. Ein Backup ausschließlich auf /data schützt nicht vor deren Ausfall.
Das gilt auch für das reproduzierbare EmbeddingGemma-Gewicht unter
/data/models/embeddinggemma; URL und SHA-256 stehen in
config/install.env.example, sodass der Installer es erneut laden und prüfen kann.
Auch die Qwen-Image-Gewichte und beide Prompt-Enhancer liegen unter
/data/models und damit außerhalb des regulären Volume-Backups. Das Skript
scripts/prepare-qwen-image-21.sh lädt sämtliche gepinnten Dateien anhand
fester SHA-256-Prüfsummen erneut und legt Bildworker sowie Enhancer gestoppt an.
Die verschlüsselten Notfallpakete über athena-export-backup.timer laufen
ebenfalls im Fünf-Stunden-Takt; beim Abgleich war der Timer aktiv und der
letzte Lauf am 16. September 2026 um 13:50 Uhr verzeichnet. Sie
liegen unter /data/emergency-backups. Schutz vor Datenplattenausfall setzt
eine außerhalb Athenas aufbewahrte Kopie voraus.
Die lokale Rotation hält fünf verschlüsselte Generationen. Da ein Paket rund 46 GB umfasst, gibt das Exportscript bei bereits erreichter Aufbewahrungszahl vor dem Schreiben genau den ältesten Slot frei. Ohne diese Reihenfolge hätte der Lauf am 21. September bei nur noch 17 GB freiem Speicher die neue Datei nicht mehr vollständig schreiben können. Scheitert der neue Lauf danach, bleiben weiterhin vier gültige Generationen erhalten.
Die externe Restic-Sicherung über athena-disaster-backup.timer ist derzeit
nicht eingerichtet: Der Timer ist zwar aktiviert, aber
/etc/mike-ai/disaster-backup.env fehlt. Bis ein externes
Ziel konfiguriert und ein erfolgreicher Lauf geprüft wurde, darf diese Ebene nicht als
vorhandener Schutz eingeplant werden. Ein vollständiger Restore wurde in
diesem Auftrag nicht ausgeführt.
Applio-Stimmen
Die verschlüsselten Notfallpakete enthalten die selbst trainierten Applio-Stimmen vollständig:
/data/voice/applio/logs:.pth-Gewichte,.index-Dateien und Trainings-Zwischenstände,/data/voice/applio/datasets: verwendete Trainingsdaten,/data/voice/applio/mikes-applio-ui: Auftragsdatenbank der Oberfläche,/data/voice/applio/models/pretraineds/custom: benutzerdefinierte Pretrain-Dateien.
Erneut ladbare Predictor-, Embedder- und Standard-Pretrain-Caches bleiben
ausgeschlossen. Die breite externe Restic-Sicherung umfasst, sobald sie
konfiguriert und aktiviert ist, ohnehin das gesamte Verzeichnis
/data/voice.
Wiederherstellung und Versionsgrenze
Die geprüften Quell- und Compose-Dateien liegen im Git; ein frischer Clone
enthält jedoch keine Secrets, Modellgewichte, Trainingsdaten oder sonstigen
persistenten Nutzerdaten. Die lokalen /etc/mike-ai-Werte und die
Backup-Archive bleiben daher für eine vollständige Wiederherstellung nötig.
Der Athena-Stack wurde beim Router-Audit am 20. September mit dem
veröffentlichten Git-Stand synchronisiert; der separate Applio-Checkout bleibt
unverändert. Siehe Live-Stand.
Vor einem Restore sind
Archivinhalt, Aktualität und Kompatibilität der zugehörigen Restore-Skripte
zu prüfen. Bestehende lokale Änderungen niemals blind überschreiben.
Die Host-Regel gilt unverändert: Athena niemals herunterfahren oder neu starten und ihre Erreichbarkeit nicht gefährden. Eine Neuinstallation ist keine normale Wartungsmaßnahme am erreichbaren Remote-Host. Für einen begrenzten Rückfall des Modellservers den aktuellen Updatebericht und die tatsächlich vorhandenen lokalen Images prüfen. Der b10930-Bericht beschreibt nur einen älteren Stand.
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.