feat(vpn): expose Athena services directly over WireGuard
This commit is contained in:
+10
-12
@@ -15,6 +15,7 @@ Heimnetz / VPN-Clients
|
||||
|
|
||||
<Fritz-VPN-IP>:8080 Open WebUI
|
||||
<Fritz-VPN-IP>:8081 Profile Router API
|
||||
<Fritz-VPN-IP>:8201-08 direkte MCP-Endpunkte
|
||||
|
|
||||
Docker-intern
|
||||
+-- Profile Controller -- Docker Socket (feste Allowlist)
|
||||
@@ -39,7 +40,7 @@ Heimnetz / VPN-Clients
|
||||
|
||||
| Komponente | Außen erreichbar | Aufgabe |
|
||||
|---|---|---|
|
||||
| WireGuard Gateway | VPN-Adresse, Port 8080/8081 | Tunnel und eng begrenzte TCP-Proxys |
|
||||
| WireGuard Gateway | VPN-Adresse, feste Portmatrix | Tunnel und direkte TCP-Proxys für UI, API und Werkzeuge |
|
||||
| Open WebUI | nur Docker-intern | Chat-Oberfläche |
|
||||
| Profile Router | nur Docker-intern | OpenAI-API und Profilwahl |
|
||||
| Profile Controller | nein | startet ausschließlich fest erlaubte Profile |
|
||||
@@ -47,7 +48,7 @@ Heimnetz / VPN-Clients
|
||||
| XTTS-v2 | nein | primäre deutsche/englische Text-to-Speech-Ausgabe auf RTX 3060 |
|
||||
| TTS-Gateway | nein | serialisiert XTTS, segmentiert Sprachwechsel und fällt auf Piper zurück |
|
||||
| Piper | nein | CPU-basierte Text-to-Speech-Rückfallebene |
|
||||
| MCP-Tool-Stack | nein | voneinander getrennte Werkzeugbereiche |
|
||||
| MCP-Tool-Stack | über feste VPN-Ports | voneinander getrennte Werkzeugbereiche für OpenWebUI, Pi und Hermes |
|
||||
| SearXNG/TinySearch | nein | private Suche, Crawl4AI-Extraktion und lokales Reranking |
|
||||
|
||||
Nur der Profile Controller erhält den Docker-Socket. Der Router erhält weder
|
||||
@@ -90,7 +91,7 @@ Ultra bleibt für maximalen Kontext bewusst text-only.
|
||||
- Docker-Netze liegen ausschließlich unter `172.30.0.0/16`.
|
||||
- Open WebUI und Router besitzen keine Docker-Host-Portfreigabe.
|
||||
- Der Gateway lauscht in seinem eigenen Namespace auf der Fritz-VPN-IP und
|
||||
leitet nur 8080/8081 zu den internen Diensten weiter.
|
||||
leitet die dokumentierte Portmatrix zu UI, API, TTS und MCPs weiter.
|
||||
- Quellrouting schickt `172.30.10.0/24` und `172.30.50.0/24` zum Gateway;
|
||||
Regeln für `172.30.0.0/16` bewahren rein internen Docker-Verkehr.
|
||||
- Die verschlüsselten äußeren Gateway-Pakete sind eng von diesen Quellregeln
|
||||
@@ -132,12 +133,11 @@ werden eindeutig buchstabiert.
|
||||
|
||||
## Zentrale MCP-Werkzeugebene
|
||||
|
||||
Werkzeuge werden nicht in llama.cpp eingebaut. Sie laufen als eigene,
|
||||
zentrale MCP-Container. Open WebUI greift intern darauf zu. Für externe Clients
|
||||
wie Hermes wird später ein authentifizierter MCP-Gateway über WireGuard
|
||||
vorgeschaltet; die unauthentifizierten internen Ports werden niemals direkt
|
||||
veröffentlicht. So können alle Oberflächen dieselben geprüften Werkzeuge
|
||||
verwenden, ohne Secrets zu duplizieren.
|
||||
Werkzeuge werden nicht in llama.cpp eingebaut. Sie laufen als eigene, zentrale
|
||||
MCP-Container. Open WebUI greift intern darauf zu; Pi, Hermes und andere
|
||||
Clients verwenden ihre festen Ports direkt auf Athenas WireGuard-Adresse. Ein
|
||||
zusätzliches MCP-Gateway ist nicht erforderlich. So können alle Oberflächen
|
||||
dieselben Werkzeuge verwenden, ohne Secrets zu duplizieren.
|
||||
|
||||
Die Trenneinheit ist **ein Container pro Fachbereich und Vertrauensstufe** –
|
||||
nicht ein Container pro einzelner Funktion und nicht ein gemeinsamer
|
||||
@@ -153,7 +153,7 @@ Open WebUI ── internes Netz ───────────┬── web-m
|
||||
└── unraid-mcp-read
|
||||
|
||||
Hermes Agent ─ WireGuard ─┐
|
||||
weitere MCP-Clients ──────┴── mcp-gateway (später) ── dasselbe interne Netz
|
||||
Pi / weitere MCP-Clients ─┴── feste VPN-Ports 8201-8208 ── MCP-Container
|
||||
```
|
||||
|
||||
| Container | Werkzeugbereich | Standardrecht |
|
||||
@@ -169,8 +169,6 @@ weitere MCP-Clients ──────┴── mcp-gateway (später) ── das
|
||||
| `unraid-mcp-read` | System-, Container- und begrenzte Logdiagnose | nur lesen |
|
||||
| `unraid-mcp-admin` | eng definierte Verwaltungsaktionen | bewusst aktivieren |
|
||||
| `sandbox-mcp` | temporäre Code- und Dateiarbeit | isolierter Arbeitsraum |
|
||||
| `mcp-gateway` | Auth, Routing, Limits und Werkzeugauswahl | keine Fach-Secrets |
|
||||
|
||||
Read- und Write-Instanzen dürfen dasselbe Image verwenden, laufen aber mit
|
||||
unterschiedlichen Tokens, Netzwerkzugriffen und Werkzeug-Allowlisten. Der
|
||||
Gateway besitzt keine HA-, ARR- oder Unraid-Secrets. Er authentifiziert Clients,
|
||||
|
||||
Reference in New Issue
Block a user