Files

7.2 KiB
Raw Permalink Blame History

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-ai einschließlich lokaler Konfiguration und Secrets,
  • /opt/mike-ai einschließlich der bereitgestellten Checkouts,
  • die Volumes router-images, router-state und portainer_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, einschließlich Qwen3-ASR unter /data/models/qwen3-asr-0.6b-q8, gehören nicht zu diesen Backup-Mounts. Das frühere Whisper-Volume wurde am 25. September 2026 entfernt. Ein Backup ausschließlich auf /data schützt nicht vor einem Ausfall der Datenplatte. 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.