91 lines
3.4 KiB
Markdown
91 lines
3.4 KiB
Markdown
# Backup und Wiederherstellung
|
|
|
|
## Was automatisch gesichert wird
|
|
|
|
Der Container `mike-ai-backup` erstellt alle fünf Stunden ein komprimiertes
|
|
Archiv unter `/data/docker-backups` und behält 14 Tage. Während der kurzen
|
|
Sicherung wird nur OpenWebUI angehalten, damit seine SQLite-Datenbank konsistent
|
|
ist. Netzwerk, WireGuard, Router und Qwen bleiben erreichbar. Hermes läuft
|
|
unabhängig davon auf Unraid weiter.
|
|
|
|
Enthalten sind:
|
|
|
|
- `/etc/mike-ai` mit lokalen Konfigurationen und Secrets
|
|
- OpenWebUI-Daten
|
|
- Router-Zustand und Router-Bildablage
|
|
- Piper-Daten
|
|
- TinySearch-Modellcache
|
|
- ein Quellbaum-Snapshot als zusätzliche Bequemlichkeit
|
|
|
|
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.
|
|
|
|
Die portablen Fach-MCPs und Hermes gehören nicht mehr zum Athena-Systembackup.
|
|
MCPHub liegt 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:
|
|
|
|
```bash
|
|
sudo ./install.sh --config config/install.env
|
|
```
|
|
|
|
4. Zustand mit einem Befehl wiederherstellen:
|
|
|
|
```bash
|
|
sudo ./restore.sh /data/docker-backups/athena-latest.tar.gz
|
|
```
|
|
|
|
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 stoppt ausschließlich Container, deren Volumes zurückgeschrieben
|
|
werden. SSH, LAN und WireGuard werden nicht verändert.
|
|
|
|
## Kontrolle
|
|
|
|
```bash
|
|
docker compose --env-file /etc/mike-ai/stack.env ps
|
|
test -s /data/docker-backups/athena-latest.tar.gz
|
|
```
|
|
|
|
Danach einen OpenWebUI-Login, einen Router-Request 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.
|