# 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. 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. 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 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](LIVE_STATE.md). 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](UPDATE_AUDIT_20260915.md) und die tatsächlich vorhandenen lokalen Images prüfen. Der [b10930-Bericht](LLAMA_B10930_UPDATE_20260912.md) 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:` 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: ```bash docker logs Hermes-Agent 2>&1 | grep cron-profile-root-fix docker exec Hermes-Agent hermes cron doctor ``` ## Kontrolle ```bash 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.