Simplify Athena runtime and document current architecture

This commit is contained in:
Mikei386
2026-08-30 08:45:52 +02:00
parent c721db47d0
commit c6517ee137
56 changed files with 1275 additions and 4713 deletions
+35
View File
@@ -0,0 +1,35 @@
# Aktuelle Architektur
```mermaid
flowchart LR
C[Hermes Desktop / Web / Mobil] --> H[Hermes Agent<br/>Unraid]
H -->|OpenAI API| R[Profile Router<br/>Athena :8081]
R --> P[Profile Controller]
P --> Q[genau ein llama.cpp-Profil<br/>Qwen Fast / Medium / Large / Ultra / Uncensored]
R --> I[Z-Image-Turbo<br/>RTX 5080, bei Bedarf]
R --> T[XTTS RTX 3060<br/>Piper CPU-Fallback]
H --> U[MUA / Unraid MCP]
H --> A[ARR-MCP]
H --> D[Deemix-MCP]
H --> N[Navidrome-MCP]
H --> S[STRATO-MCP]
H --> X[Nginx-Proxy-Manager-MCP]
U --> M[Media-Tools<br/>ffmpeg / ffprobe / yt-dlp]
W[WireGuard-Gateway<br/>Athena] --- R
W --- B[Athena Dashboard :8099]
W --- O[Athena Operator]
K[Backup alle 5 Stunden] --> DATA[/data und /etc/mike-ai]
```
## Verantwortung
- **Unraid** hält Hermes, Chats, Skills, Fach-MCPs und deren Appdata.
- **Athena** rechnet: Text, Bild und Sprache; Router und Dashboard koordinieren
und beobachten die Inferenz.
- **MUA** verwaltet Unraid. **Athena Operator** bleibt auf den Athena-Host
begrenzt.
- Der Router ist die einzige Modelladresse, die Hermes kennen muss.
Die visuelle Fassung liegt als `athena-architecture-map.png` neben dieser Datei.
+27 -12
View File
@@ -1,15 +1,30 @@
# MCP-Server
# Produktive MCP- und Werkzeugdienste
Diese Datei wird aus `config/mcp-registry.json` erzeugt. Änderungen gehören nur in die JSON-Registry.
Die portablen Werkzeuge laufen als getrennte Container auf Unraid. Hermes bindet
sie direkt ein; MCPHub ist nicht mehr im Datenpfad.
| Server | Hermes-ID | Endpunkt | Clients | Werkzeuge |
|---|---|---|---|---:|
| Athena Operator | `athena-operator` | `http://192.168.1.2:8787/mcp/athena-operator` | hermes, openwebui | alle |
| GitHub (offiziell, read-only) | `github` | `http://192.168.1.2:8787/mcp/github` | hermes, openwebui | alle |
| Home Assistant | `homeassistant-admin` | `http://192.168.1.2:8787/mcp/homeassistant` | hermes, openwebui | alle |
| Sonarr und Radarr | `arr` | `http://192.168.1.2:8787/mcp/arr` | hermes, openwebui | alle |
| Navidrome | `navidrome` | `http://192.168.1.2:8787/mcp/navidrome` | hermes, openwebui | alle |
| MUA (Unraid-Verwaltung) | `unraid` | `http://192.168.1.2:8787/mcp/unraid` | hermes, openwebui | alle |
| FRITZ!Box | `fritzbox` | `http://192.168.1.2:8787/mcp/fritzbox` | hermes, openwebui | 4 |
| Dienst | Endpunkt | Betrieb |
|---|---|---|
| MUA / Unraid | `http://192.168.1.2:3002/mcp` | Unraid-Plugin |
| ARR | `http://192.168.1.2:8207/mcp` | `ARR-MCP` |
| Deemix | `http://192.168.1.2:8209/mcp` | `Deemix-MCP` |
| Navidrome | `http://192.168.1.2:8210/mcp` | `Navidrome-MCP` |
| STRATO DNS | `http://192.168.1.2:2030/mcp` | `Strato-MCP` |
| Nginx Proxy Manager | `http://192.168.1.2:8767/mcp` | `Nginx-Proxy-Manager-MCP` |
| Home Assistant | Home-Assistant-MCP-Endpunkt | derzeit in Hermes deaktiviert |
| Athena Operator | interner Athena-Dienst | nur für Athena-Administration |
Allgemeine Webrecherche ist ein eingebautes Hermes-Werkzeug und kein MCPHub-Server.
`Media-Tools` ist kein MCP. Der Container ist eine persistente Werkzeugkiste
für ffmpeg, ffprobe, yt-dlp und ähnliche Hilfsprogramme und wird über das
Unraid-Terminalwerkzeug angesprochen.
Allgemeine Websuche und Terminal sind Hermes-eigene Werkzeuge. Sie benötigen
keinen zusätzlichen Athena-Container.
## Zuständigkeit
- Athena-Host verändern: Athena Operator
- Unraid und Container verwalten: MUA / Unraid
- Mediendienste: jeweiliger Fach-MCP
- fehlende CLI-Medienwerkzeuge: Media-Tools
- allgemeine Recherche: Hermes-Webwerkzeug
+37 -62
View File
@@ -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.
Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB