Lokale KI-Plattform
Reproduzierbarer Docker-Stack für einen privaten Qwen-/llama.cpp-Host mit Open WebUI, Profilumschaltung, integrierter Vision, lokaler Websuche und WireGuard-Isolation.
Zielbild
- Debian 13 als schlanker GPU-Host
- llama.cpp selbst gebaut und auf einen geprüften Commit festgelegt
- vier getrennte Profilcontainer, davon immer exakt einer aktiv
/fast,/medium,/longund/experimentalüber den Profile Router- Open WebUI als einzige normale Oberfläche
- SearXNG/Web-MCP ohne externen API-Schlüssel
- KI-Dienste ausschließlich über die WireGuard-Adresse erreichbar
- KI-Ausgangsverkehr über das Heimnetz, bei Tunnelausfall fail-closed
- keine Secrets, Chats, Logs oder Modelldateien im Repository
Schnellstart
Auf einem frisch installierten Debian 12/13 amd64:
cp config/install.env.example config/install.env
chmod 600 config/install.env
editor config/install.env
sudo ./install.sh --config config/install.env
Installiert werden Docker CE, NVIDIA Container Toolkit, WireGuard, der gepinnt gebaute llama.cpp-Server, die Modelle und der komplette Compose-Stack. Bei einer erstmaligen NVIDIA-Treiberinstallation fordert das Skript einen Neustart an; danach wird derselbe Befehl erneut ausgeführt.
Dienste
| Dienst | Erreichbarkeit | Zweck |
|---|---|---|
| Open WebUI | <WG-IP>:8080 |
Chat und Administration |
| Profile Router | <WG-IP>:8081 |
OpenAI-kompatible API, Profilwahl |
| llama.cpp | nur Docker-intern | Inferenz, Vision, MCP |
| Profile Controller | nur Docker-intern | eng begrenzter Containerwechsel |
| SearXNG | nur Docker-intern | Websuche |
Bildgenerierung, TTS/STT sowie Home-Assistant-, ARR- und Unraid-MCPs werden bewusst nicht automatisch aktiviert. Sie erhalten später eigene Container und kleinstmögliche Rechte. Die Bildanalyse ist bereits Bestandteil des multimodalen Qwen-Modells.
Dokumentation
- Roadmap für den neuen Host
- Zielarchitektur und Sicherheitsgrenzen
- Installation und Abnahme
- WireGuard-Heimseite
- Betrieb und Profilwechsel
- Sicherheitsmodell
- Disaster Recovery
- Komponenten
Wichtige Dateien
install.sh kompletter Bootstrap
config/install.env.example öffentliche Konfigurationsvorlage
compose.yaml produktiver Stack
platform/docker/llama-cpp/Dockerfile CUDA-llama.cpp-Build
platform/docker/profile-controller/ sichere Profilsteuerung
router/ OpenAI-kompatibler Profile Router
Sicherheitsregeln
config/install.envist lokal, Modus 0600, und wird ignoriert.- API-, Controller-, WebUI- und WireGuard-Schlüssel entstehen erst am Host.
- Nur der kleine Profile Controller sieht den Docker-Socket.
- llama.cpp veröffentlicht weder Port noch WebUI.
- Ein Blackhole-Fallback verhindert Traffic-Leaks bei WireGuard-Ausfall.
- Das Uni-Netz und das Heimnetz dürfen diesen Host nicht als Transit benutzen.
Die Profilwerte sind Ausgangswerte. Nach dem Neuaufbau werden RTX 5080 und RTX 3060 mit der bestehenden Standard-Testserie neu vermessen, bevor die zweite GPU in ein Produktionsprofil einfließt.