LLM selbst hosten:
Schritt-für-Schritt Setup Guide
Sie können ein vollständiges On-Premise LLM-System in unter 60 Minuten aufsetzen — mit Ollama als Runtime und Open WebUI als Chat-Oberfläche. Dieser Guide führt Sie vom blanken Server bis zum ersten produktiven Prompt, inklusive Security-Hardening für den Unternehmenseinsatz.
Voraussetzungen
Bevor Sie starten, stellen Sie sicher, dass folgende Voraussetzungen erfüllt sind:
Hardware
- GPU: NVIDIA GPU mit mindestens 8 GB VRAM (RTX 3060 12GB, RTX 4090, A100 oder besser). Details: Hardware-Anforderungen
- RAM: Mindestens 32 GB System-RAM (empfohlen: 64 GB+)
- Speicher: 50+ GB freier SSD-Speicher für Modelle (empfohlen: 2 TB NVMe)
- Netzwerk: Für den initialen Modell-Download wird Internet benötigt (10+ GB pro Modell)
Software
- Betriebssystem: Ubuntu 24.04 LTS (empfohlen) oder 22.04 LTS
- NVIDIA-Treiber: Version 535+ (wird im Guide installiert)
- Docker: Für Open WebUI (wird im Guide installiert)
- SSH-Zugang: Für Remote-Administration
Schritt 1: Server-Grundkonfiguration
1.1 Ubuntu installieren
Installieren Sie Ubuntu 24.04 LTS Server Edition. Wählen Sie bei der Installation:
- Minimale Installation (kein Desktop nötig)
- OpenSSH Server aktivieren
- Gesamte Festplatte nutzen (mit LVM empfohlen)
1.2 System aktualisieren
Nach der Installation aktualisieren Sie das System:
sudo apt update && sudo apt upgrade -y
sudo reboot 1.3 NVIDIA-Treiber installieren
Installieren Sie die proprietären NVIDIA-Treiber — die Open-Source-Treiber (nouveau) unterstützen kein CUDA:
# Verfügbare Treiber anzeigen
ubuntu-drivers devices
# Empfohlenen Treiber installieren
sudo apt install -y nvidia-driver-550
sudo reboot
# Installation prüfen
nvidia-smi nvidia-smi sollte Ihre GPU mit Treiber-Version und CUDA-Version anzeigen.
1.4 NVIDIA Container Toolkit installieren
Für Docker-basierte Anwendungen (Open WebUI) benötigen Sie das NVIDIA Container Toolkit:
# NVIDIA Container Toolkit Repository hinzufügen
curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | \
sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \
sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \
sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list
sudo apt update
sudo apt install -y nvidia-container-toolkit
# Docker konfigurieren
sudo nvidia-ctk runtime configure --runtime=docker
sudo systemctl restart docker Schritt 2: Ollama installieren
2.1 Installation
Ollama wird mit einem einzigen Befehl installiert:
curl -fsSL https://ollama.com/install.sh | sh Das Skript erkennt automatisch Ihre GPU und konfiguriert CUDA. Die Installation dauert weniger als eine Minute.
2.2 Ollama als Systemdienst
Ollama registriert sich automatisch als systemd-Service:
# Status prüfen
sudo systemctl status ollama
# Autostart aktivieren (sollte bereits aktiv sein)
sudo systemctl enable ollama
# Ollama auf alle Netzwerk-Interfaces binden (für Netzwerkzugriff)
sudo systemctl edit ollama Fügen Sie folgende Zeilen ein:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434" Dann Ollama neustarten:
sudo systemctl restart ollama 2.3 Erstes Modell herunterladen
# Kleines Modell für den ersten Test (4,7 GB)
ollama pull llama3.1:8b
# Schneller Test
ollama run llama3.1:8b "Erkläre mir in 3 Sätzen, was On-Premise LLM ist." Wenn Sie eine Antwort erhalten — herzlichen Glückwunsch! Ihr LLM läuft.
2.4 Produktionsmodell herunterladen
Für den produktiven Einsatz laden Sie ein größeres Modell:
# Empfohlene Produktionsmodelle (wählen Sie nach VRAM)
# Für 24 GB VRAM (RTX 4090):
ollama pull qwen2.5:14b
# Für 40+ GB VRAM (A100 40GB):
ollama pull llama3.1:70b-instruct-q4_K_M
# Für 80 GB VRAM (A100 80GB):
ollama pull llama3.1:70b
# Modelle auflisten
ollama list Schritt 3: Open WebUI installieren
3.1 Docker installieren (falls nicht vorhanden)
# Docker installieren
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# Neuanmeldung nötig
exit
# Neu einloggen, dann testen:
docker ps 3.2 Open WebUI starten
docker run -d \
--name open-webui \
--restart always \
-p 3000:8080 \
-e OLLAMA_BASE_URL=http://host.docker.internal:11434 \
-v open-webui:/app/backend/data \
--add-host=host.docker.internal:host-gateway \
ghcr.io/open-webui/open-webui:main
Open WebUI ist jetzt unter http://SERVER-IP:3000 erreichbar.
3.3 Erster Login und Admin-Account
- Öffnen Sie
http://SERVER-IP:3000im Browser - Der erste registrierte Benutzer wird automatisch zum Admin
- Erstellen Sie Ihren Admin-Account mit einem sicheren Passwort
- Wählen Sie im Chat ein Modell aus dem Dropdown-Menü
- Senden Sie Ihre erste Nachricht — fertig!
Probleme beim Setup?Beschreiben Sie Ihren Anwendungsfall, Ihre Datenquellen und Ihren Schutzbedarf für eine konkrete Ersteinschätzung.
KI-Check starten →Schritt 4: Security-Hardening für den Unternehmenseinsatz
4.1 Firewall konfigurieren
# UFW Firewall aktivieren
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow from 10.0.0.0/8 to any port 3000 # Open WebUI nur intern
sudo ufw allow from 172.16.0.0/12 to any port 3000
sudo ufw allow from 192.168.0.0/16 to any port 3000
sudo ufw enable Wichtig: Port 11434 (Ollama API) sollte nicht direkt von außen erreichbar sein. Nur Open WebUI kommuniziert mit Ollama.
4.2 HTTPS mit Nginx Reverse Proxy
sudo apt install -y nginx certbot python3-certbot-nginx
# Nginx-Konfiguration erstellen
sudo nano /etc/nginx/sites-available/llm Nginx-Konfiguration:
server {
listen 443 ssl;
server_name llm.ihre-firma.de;
ssl_certificate /etc/letsencrypt/live/llm.ihre-firma.de/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/llm.ihre-firma.de/privkey.pem;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
# WebSocket-Support
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
} # Aktivieren und SSL einrichten
sudo ln -s /etc/nginx/sites-available/llm /etc/nginx/sites-enabled/
sudo certbot --nginx -d llm.ihre-firma.de
sudo systemctl restart nginx 4.3 Benutzer-Registrierung beschränken
In Open WebUI unter Admin Panel → Settings → General:
- Registrierung deaktivieren (nur Admin kann Benutzer anlegen)
- Oder: E-Mail-Domain-Whitelist aktivieren (nur @ihre-firma.de)
4.4 Logging und Monitoring aktivieren
# Ollama-Logs überwachen
journalctl -u ollama -f
# Docker-Logs für Open WebUI
docker logs -f open-webui
# System-Monitoring installieren (optional)
sudo apt install -y prometheus-node-exporter Schritt 5: Produktionsoptimierung
5.1 Automatische Updates
# Unattended-Upgrades für Sicherheitspatches
sudo apt install -y unattended-upgrades
sudo dpkg-reconfigure -plow unattended-upgrades 5.2 Backup-Strategie
- Open WebUI Daten: Docker-Volume
open-webuiregelmäßig sichern - Ollama Modelle: Liegen unter
~/.ollama/models/— können neu heruntergeladen werden - Konfiguration: Nginx, Systemd-Overrides und Firewall-Regeln in Git versionieren
5.3 Performance-Tuning
- GPU-Persistenz:
sudo nvidia-smi -pm 1— verhindert GPU-Reset bei Inaktivität - Modell warm halten: Ollama hält das zuletzt genutzte Modell im VRAM — konfigurierbar via
OLLAMA_KEEP_ALIVE - Context-Länge: Standardmäßig 2048 Tokens — über Open WebUI oder Modelfile anpassbar
Checkliste: Produktions-Readiness
| Punkt | Status | Priorität |
|---|---|---|
| NVIDIA-Treiber installiert und funktional | ☐ | Kritisch |
| Ollama installiert und als Service gestartet | ☐ | Kritisch |
| Produktionsmodell heruntergeladen | ☐ | Kritisch |
| Open WebUI via Docker gestartet | ☐ | Kritisch |
| Admin-Account erstellt | ☐ | Kritisch |
| Firewall konfiguriert (nur interner Zugriff) | ☐ | Hoch |
| HTTPS via Reverse Proxy eingerichtet | ☐ | Hoch |
| Registrierung beschränkt | ☐ | Hoch |
| Backup-Strategie definiert | ☐ | Mittel |
| Monitoring eingerichtet | ☐ | Mittel |
| Automatische Updates aktiviert | ☐ | Mittel |
Nächste Schritte nach dem Setup
- 📋 KI-Strategie entwickeln — vom Piloten zum Rollout
- 🔄 Weitere Modelle vergleichen — das beste Modell für Ihren Use Case
- 🖥️ Hardware skalieren — wenn die Nutzung wächst
- 💰 ROI berechnen — für die Geschäftsführung
- 🏢 Managed Services — wenn Sie den Betrieb outsourcen möchten