114 lines
4.2 KiB
Markdown
114 lines
4.2 KiB
Markdown
# Installation auf einem frischen Debian-Host
|
|
|
|
Der automatisierte Weg ist `install.sh`. Das Skript ist für **Debian 12/13
|
|
amd64** gedacht, installiert Docker CE, den aktuellen Compute-only-NVIDIA-Treiber
|
|
mit offenen Kernelmodulen aus dem offiziellen NVIDIA-Repository, das
|
|
NVIDIA-Container-Toolkit,
|
|
WireGuard, baut llama.cpp reproduzierbar, lädt Modelle mit SHA256-Prüfung und
|
|
startet den Stack.
|
|
|
|
## Vorher klären
|
|
|
|
1. Die Universität muss den ausgehenden WireGuard-Tunnel erlauben.
|
|
2. Heimnetz, Universitätsnetz und Docker-Netz dürfen sich nicht überschneiden.
|
|
3. Der WireGuard-Heim-Peer braucht eine feste öffentliche Adresse oder DNS.
|
|
4. Für KI-Internetzugang über zuhause: Forwarding und NAT am Heim-Peer.
|
|
5. Das private Repository muss auf dem neuen Host lesbar sein.
|
|
|
|
## Debian installieren
|
|
|
|
- Debian 13 minimal, amd64, OpenSSH-Server, kein Desktop erforderlich.
|
|
- Einen normalen Administrationsbenutzer mit sudo anlegen.
|
|
- Optional bei physischem Fremdzugriff: LUKS-Verschlüsselung.
|
|
- BIOS: Above 4G Decoding aktiv; beide GPUs sichtbar machen.
|
|
|
|
## Konfiguration
|
|
|
|
```bash
|
|
git clone <PRIVATE-REPOSITORY-URL> AI-Profile-Router
|
|
cd AI-Profile-Router
|
|
cp config/install.env.example config/install.env
|
|
chmod 600 config/install.env
|
|
editor config/install.env
|
|
```
|
|
|
|
Mindestens `ADMIN_USER`, `AI_BIND_ADDRESS`, `WG_ADDRESS`,
|
|
`WG_PEER_PUBLIC_KEY`, `WG_ENDPOINT` und `WG_HOME_SUBNET` anpassen. Private
|
|
WireGuard-, Router- und WebUI-Schlüssel werden lokal erzeugt und nur unter
|
|
`/etc/mike-ai` gespeichert.
|
|
|
|
## Installation starten
|
|
|
|
```bash
|
|
sudo ./install.sh --config config/install.env
|
|
```
|
|
|
|
Wenn erstmals ein NVIDIA-Treiber installiert wurde, endet das Skript bewusst
|
|
mit Code 20. Dann neu starten und denselben Befehl erneut ausführen. Das Skript
|
|
ist auf Wiederholung ausgelegt und löscht keine vorhandenen Modelldateien.
|
|
|
|
Der Installer zeigt nur den öffentlichen WireGuard-Schlüssel. Diesen am
|
|
Heim-Peer eintragen:
|
|
|
|
```ini
|
|
[Peer]
|
|
PublicKey = <AUSGABE-DES-INSTALLERS>
|
|
AllowedIPs = 10.77.0.2/32
|
|
```
|
|
|
|
Erst wenn der Tunnel steht, kann der Bootstrap fortfahren. API-Schlüssel
|
|
werden nicht ausgegeben. Sie liegen root-only unter `/etc/mike-ai`.
|
|
|
|
## Ergebnis und Abnahme
|
|
|
|
- Open WebUI: `http://<WIREGUARD-IP>:8080`
|
|
- Router: `http://<WIREGUARD-IP>:8081`
|
|
- llama.cpp-WebUI: absichtlich deaktiviert und nicht veröffentlicht
|
|
|
|
```bash
|
|
sudo systemctl status wg-quick@wg0 mike-ai-network-guard
|
|
sudo docker compose --env-file /etc/mike-ai/stack.env \
|
|
-f /opt/mike-ai/stack/compose.yaml ps
|
|
curl http://<WIREGUARD-IP>:8081/health
|
|
```
|
|
|
|
Zusätzlich prüfen: Uni-LAN sieht keine KI-Ports; Heimnetz erreicht beide;
|
|
gestopptes WireGuard lässt KI-Container nicht ins Internet; jeder Profilwechsel
|
|
startet exakt einen llama-Container; Text, Tool Call und Bild funktionieren.
|
|
|
|
## Werkzeug-Container
|
|
|
|
Der Installer startet Websuche automatisch in einem privaten Docker-Netz.
|
|
Weitere Bereiche werden nur aktiviert, wenn ihre root-only Konfiguration schon
|
|
vorhanden ist:
|
|
|
|
```text
|
|
/etc/mike-ai/homeassistant-admin-mcp.env
|
|
/etc/mike-ai/arr-mcp.env
|
|
/etc/mike-ai/runraid/.env
|
|
/usr/local/bin/runraid Version 0.4.2
|
|
```
|
|
|
|
Nach dem Nachreichen einer Datei genügt:
|
|
|
|
```bash
|
|
sudo /opt/mike-ai/stack/platform/mcp/install-tools.sh
|
|
```
|
|
|
|
Auf einer frischen Open-WebUI-Datenbank werden die internen MCP-Adressen über
|
|
`TOOL_SERVER_CONNECTIONS` vorbelegt. Bei einer übernommenen Datenbank müssen
|
|
die Einträge einmal unter **Admin-Einstellungen → Externe Werkzeuge** geprüft
|
|
oder importiert werden. Die Endpunkte stehen in `platform/mcp/README.md`.
|
|
Kein MCP-Port wird auf dem Host veröffentlicht. Externe Clients wie Hermes
|
|
benötigen später den authentifizierten WireGuard-Gateway und dürfen nicht
|
|
direkt auf das interne Werkzeugnetz zugreifen.
|
|
|
|
Die öffentliche Standardkonfiguration nutzt `UD-IQ4_XS`. Das bislang schnellste
|
|
Referenzprofil nutzt dagegen die lokal vorhandene `IQ4-MIX`-Datei. Für eine
|
|
bitgenaue Migration diese Datei anhand der in `CURRENT_REFERENCE.md`
|
|
dokumentierten SHA256 in das Modellverzeichnis kopieren und die drei
|
|
`*_MODEL_FILE`-Werte anpassen. Der Installer löscht vorhandene Modelle nicht.
|
|
|
|
Open-WebUI-Daten liegen in einem Docker-Volume und müssen separat gesichert
|
|
werden. Geheimnisse und Chatdaten gehören nie in Git.
|