Simplify Athena runtime and document current architecture
This commit is contained in:
@@ -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
@@ -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
@@ -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 |
Reference in New Issue
Block a user