Simplify Athena runtime and document current architecture
This commit is contained in:
+37
-62
@@ -1,87 +1,62 @@
|
||||
# Backup und Wiederherstellung
|
||||
|
||||
## Was automatisch gesichert wird
|
||||
## Athena
|
||||
|
||||
Der Container `mike-ai-backup` erstellt alle fünf Stunden ein komprimiertes
|
||||
Archiv unter `/data/docker-backups` und behält 14 Tage. Netzwerk, WireGuard,
|
||||
Router und Qwen bleiben dabei erreichbar. Hermes läuft unabhängig auf Unraid.
|
||||
`mike-ai-backup` erzeugt alle fünf Stunden ein Archiv unter
|
||||
`/data/docker-backups` und behält 14 Tage. Gesichert werden:
|
||||
|
||||
Enthalten sind:
|
||||
- `/etc/mike-ai` mit lokaler Konfiguration,
|
||||
- Router-Zustand und erzeugte Bilder,
|
||||
- Piper-Daten,
|
||||
- der kanonische Stack als zusätzlicher Snapshot.
|
||||
|
||||
- `/etc/mike-ai` mit lokalen Konfigurationen und Secrets
|
||||
- Router-Zustand und Router-Bildablage
|
||||
- Piper-Daten
|
||||
- ein Quellbaum-Snapshot als zusätzliche Bequemlichkeit
|
||||
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`.
|
||||
|
||||
Nicht kopiert werden `/data/models`, die nur noch als Rückfall vorhandene Kopie
|
||||
`/data/hermes` und `/data/hermes-webui`: Sie liegen dauerhaft auf der Daten-SSD
|
||||
und überleben den Austausch der Debian-Systemplatte. Docker-Images werden aus
|
||||
dem Compose-Stack reproduziert und gehören nicht ins Backup.
|
||||
### Neuaufbau
|
||||
|
||||
Die portablen Fach-MCPs und Hermes gehören nicht mehr zum Athena-Systembackup.
|
||||
MCPHub liegt einschließlich externer Registry und portabler Erweiterungen unter
|
||||
`/mnt/nvme-storage/appdata/MCPHub`, Hermes vollständig unter
|
||||
`/mnt/nvme-storage/appdata/Hermes-Agent`. Beide Verzeichnisse werden vom
|
||||
bestehenden Unraid-Appdata-Backup gesichert. Für ein vollständiges
|
||||
Desaster-Recovery müssen daher sowohl Athenas `/data` als auch dieses
|
||||
Unraid-Appdata-Backup verfügbar sein.
|
||||
|
||||
## Hermes auf Unraid wiederherstellen
|
||||
|
||||
1. `/mnt/nvme-storage/appdata/Hermes-Agent` aus dem Unraid-Appdata-Backup
|
||||
wiederherstellen.
|
||||
2. `config/unraid-templates/my-Hermes-Agent-Official.xml` nach
|
||||
`/boot/config/plugins/dockerMan/templates-user/` kopieren.
|
||||
3. In Unraid **Docker → Add Container → User Templates → Hermes-Agent** wählen,
|
||||
die maskierten Schlüssel aus der wiederhergestellten `.env` übernehmen und
|
||||
den Container starten.
|
||||
4. `http://127.0.0.1:8642/health` im Container beziehungsweise
|
||||
`http://<Unraid-IP>:9119` im Browser prüfen.
|
||||
5. Falls sich Athenas VPN-Adresse geändert hat, in `config.yaml` und in allen
|
||||
`profiles/*/config.yaml` die Router-Basis-URL anpassen.
|
||||
|
||||
## Manuelles Backup
|
||||
|
||||
```bash
|
||||
docker exec mike-ai-backup backup
|
||||
```
|
||||
|
||||
Die Datei `/data/docker-backups/athena-latest.tar.gz` zeigt danach auf das
|
||||
neueste erfolgreiche Archiv.
|
||||
|
||||
## Neuaufbau
|
||||
|
||||
1. Debian installieren und `/data` wieder unter demselben Pfad einhängen.
|
||||
2. Repository klonen.
|
||||
3. Installation einmal ausführen:
|
||||
1. Debian installieren und `/data` wieder am bisherigen Pfad einhängen.
|
||||
2. Dieses Repository klonen.
|
||||
3. Installationsdatei ausfüllen und Installation starten:
|
||||
|
||||
```bash
|
||||
sudo ./install.sh --config config/install.env
|
||||
sudo ./install.sh --config /root/mike-ai-install.env
|
||||
```
|
||||
|
||||
4. Zustand mit einem Befehl wiederherstellen:
|
||||
4. Letztes Datenarchiv einspielen:
|
||||
|
||||
```bash
|
||||
sudo ./restore.sh /data/docker-backups/athena-latest.tar.gz
|
||||
sudo ./smoke-test.sh
|
||||
```
|
||||
|
||||
5. Falls `/etc/mike-ai/mcphub-client.env` nicht im Athena-Backup enthalten
|
||||
war, den Wert aus Unraids
|
||||
`/mnt/nvme-storage/appdata/MCPHub/client-token` einmalig als
|
||||
`MCPHUB_BEARER_TOKEN=...` eintragen und anschließend
|
||||
`platform/mcp/sync-clients.py` ausführen. Der Token gehört nicht ins Git.
|
||||
Das Restore verändert weder SSH noch LAN, WireGuard, Kernel, Partitionen oder
|
||||
Mounts.
|
||||
|
||||
Das Restore stoppt ausschließlich Container, deren Volumes zurückgeschrieben
|
||||
werden. SSH, LAN und WireGuard werden nicht verändert.
|
||||
## 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.
|
||||
|
||||
## Kontrolle
|
||||
|
||||
```bash
|
||||
docker compose --env-file /etc/mike-ai/stack.env ps
|
||||
test -s /data/docker-backups/athena-latest.tar.gz
|
||||
curl -fsS http://192.168.1.212:8099/health
|
||||
sudo ./smoke-test.sh
|
||||
```
|
||||
|
||||
Danach einen Router-Request, einen Hermes-Zweiturn-Chat und je einen read-only
|
||||
MCP-Aufruf über `http://UNRAID-IP:8787/mcp/NAME` testen. Alte Recovery-Koffer
|
||||
sind für Neuinstallationen nicht mehr erforderlich; Git, Athenas Datenbackup
|
||||
und das Unraid-Appdata-Backup bilden die Wiederherstellung.
|
||||
Anschließend einen Hermes-Chat, einen Router-Aufruf und je eine kleine
|
||||
read-only-Abfrage der benötigten MCPs testen.
|
||||
|
||||
Reference in New Issue
Block a user