76 lines
2.6 KiB
Markdown
76 lines
2.6 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, Hermes und Qwen bleiben erreichbar.
|
|
|
|
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`, `/data/hermes` und
|
|
`/data/hermes-webui`: Sie liegen bereits 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 gehören nicht mehr zum Athena-Systembackup. MCPHub,
|
|
seine Serverliste, Client-Schlüssel und die lokalen MCP-Zugänge liegen unter
|
|
`/mnt/nvme-storage/appdata/MCPHub` auf Unraid und 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.
|
|
|
|
## 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.
|