Zum Inhalt springen
🔧 Tutorial

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

  1. Öffnen Sie http://SERVER-IP:3000 im Browser
  2. Der erste registrierte Benutzer wird automatisch zum Admin
  3. Erstellen Sie Ihren Admin-Account mit einem sicheren Passwort
  4. Wählen Sie im Chat ein Modell aus dem Dropdown-Menü
  5. Senden Sie Ihre erste Nachricht — fertig!
💬

Probleme beim Setup?Unsere Community hilft Ihnen bei technischen Fragen und Konfigurationsproblemen.

Im Slack fragen →

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-webui regelmäß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

Häufig gestellte Fragen

Wie lange dauert das Setup eines On-Premise LLM?

Mit unserem Guide dauert das Basis-Setup (Ollama + Modell + Open WebUI) ca. 30–60 Minuten. Das Security-Hardening und die Produktions-Konfiguration benötigen weitere 2–4 Stunden. Insgesamt ist ein produktionsreifes System in einem Arbeitstag einsatzbereit.

Brauche ich Linux-Erfahrung für das Setup?

Grundlegende Linux-Kenntnisse (Terminal-Navigation, apt-Paketmanager, Texteditor) sind hilfreich, aber kein Muss. Ollama installiert sich mit einem einzigen Befehl, und Open WebUI läuft als Docker-Container. Unser Guide erklärt jeden Schritt mit exakten Befehlen zum Kopieren.

Welches Modell soll ich als erstes herunterladen?

Für den Einstieg empfehlen wir: Llama 3.1 8B für einen schnellen ersten Test (läuft auf jeder GPU mit 8+ GB VRAM). Danach Qwen 2.5 14B oder Llama 3.1 70B (Q4-quantisiert) für produktiven Einsatz. Für deutschsprachige Anwendungen liefern Qwen 2.5 und Mistral besonders gute Ergebnisse.

Kann ich mehrere Modelle gleichzeitig betreiben?

Ja! Ollama unterstützt mehrere Modelle parallel. Sie können verschiedene Modelle für verschiedene Aufgaben nutzen: Ein 70B-Modell für komplexe Analysen und ein 8B-Modell für schnelle Chat-Anfragen. Open WebUI zeigt alle verfügbaren Modelle in einem Dropdown-Menü an.

Wie sichere ich mein On-Premise LLM ab?

Wichtige Sicherheitsmaßnahmen: (1) Firewall-Regeln — nur internes Netzwerk zulassen, (2) HTTPS mit gültigem Zertifikat via Reverse Proxy, (3) Authentifizierung über Open WebUI aktivieren, (4) Netzwerksegmentierung — LLM-Server in eigenes VLAN, (5) Logging aktivieren für Audit-Trail, (6) Regelmäßige System-Updates.

Kann ich das Setup auch auf Windows durchführen?

Ollama unterstützt Windows nativ, und Open WebUI läuft in Docker Desktop für Windows. Für den produktiven Unternehmenseinsatz empfehlen wir jedoch Ubuntu Linux: bessere Performance, stabiler Dauerbetrieb, einfachere Administration via SSH und bessere NVIDIA-Treiber-Unterstützung.

Wie update ich Ollama und die Modelle?

Ollama aktualisieren: curl -fsSL https://ollama.com/install.sh | sh (überschreibt die alte Version). Modelle aktualisieren: ollama pull llama3.1:70b (lädt die neueste Version). Open WebUI: docker pull ghcr.io/open-webui/open-webui:main. Wir empfehlen monatliche Updates, aber: Testen Sie neue Versionen erst, bevor Sie sie in Produktion nehmen.

Setup geschafft? Teilen Sie Ihre Erfahrung!

Helfen Sie anderen Unternehmen beim Einstieg — oder holen Sie sich Tipps für die Optimierung.

Jetzt Slack beitreten →