Zum Inhalt

Lokale KI mit Open WebUI und Ollama per Docker einrichten

Veröffentlicht am 12. August 2026 · Geschätzte Lesezeit: 5 Minuten

Ollama führt Sprachmodelle auf dem eigenen Rechner aus, Open WebUI stellt dafür eine übersichtliche Chatoberfläche im Browser bereit. Eingaben bleiben bei einem rein lokalen Modell im Heimnetz; eine leistungsfähige Grafikkarte ist hilfreich, aber für kleine Modelle nicht zwingend. Die Einrichtung dauert ungefähr 20 bis 35 Minuten, der erste Modelldownload zusätzlich je nach Internetverbindung.

Voraussetzungen

  • Ein 64-Bit-Rechner mit Docker und Docker Compose
  • Mindestens 8 GB Arbeitsspeicher, für größere Modelle entsprechend mehr
  • Mindestens 10 GB freier Speicherplatz für Container und ein kleines Modell
  • Port 3000 im Heimnetz frei
  • Optional eine unterstützte GPU samt passender Container-Laufzeit

1. Projektordner anlegen

Führe diesen Befehl auf dem Docker-Server aus. Er erstellt den Projektordner und wechselt hinein.

mkdir -p ~/docker/open-webui && cd ~/docker/open-webui

2. Sitzungsschlüssel erzeugen

Open WebUI verwendet einen geheimen Schlüssel zum Absichern von Sitzungen. Dieser Befehl erzeugt ihn zufällig in einer nur für deinen Benutzer lesbaren .env-Datei.

umask 077 && printf 'WEBUI_SECRET_KEY=%s\n' "$(openssl rand -hex 32)" > .env

Schlüssel nicht veröffentlichen

Die Datei .env gehört nicht in ein öffentliches Git-Repository oder eine Anleitung. Sichere sie zusammen mit dem Datenbackup, damit bestehende Sitzungen und verschlüsselte Einstellungen nach einer Wiederherstellung funktionieren.

3. Compose-Datei anlegen

Lege im Ordner ~/docker/open-webui eine Datei namens compose.yaml an. Nur die Weboberfläche wird ins Heimnetz veröffentlicht; die Ollama-Schnittstelle bleibt im internen Docker-Netz.

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    volumes:
      - ollama-data:/root/.ollama

  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    restart: unless-stopped
    depends_on:
      - ollama
    ports:
      - "3000:8080"
    environment:
      OLLAMA_BASE_URL: http://ollama:11434
      WEBUI_SECRET_KEY: ${WEBUI_SECRET_KEY}
    volumes:
      - open-webui-data:/app/backend/data

volumes:
  ollama-data:
  open-webui-data:

Diese Grundkonfiguration verwendet die CPU. Eine GPU erfordert je nach NVIDIA-, AMD- oder Vulkan-System zusätzliche Gerätefreigaben und Treiber. Verwende dafür ausschließlich die passende aktuelle Ollama-Dokumentation.

4. Container starten

Starte beide Dienste im Projektordner.

docker compose up -d

Prüfe den Zustand.

docker compose ps

Open WebUI benötigt beim ersten Start etwas Zeit. Die letzten Protokollzeilen zeigen mögliche Fehler.

docker compose logs --tail=100 open-webui

5. Erstes lokales Modell laden

Dieser Befehl lädt das in der offiziellen Ollama-Dokumentation verwendete Beispielmodell llama3.2. Er wird auf dem Docker-Server im Projektordner ausgeführt.

docker compose exec ollama ollama pull llama3.2

Der Download kann mehrere Gigabyte umfassen. Prüfe anschließend die installierten Modelle.

docker compose exec ollama ollama list

Klein anfangen

Kleine Modelle reagieren auf Rechnern ohne starke GPU deutlich schneller. Prüfe vor dem Download in der Ollama-Modellbibliothek Größe, Speicherbedarf und Lizenz des gewählten Modells.

6. Administratorkonto anlegen

Öffne http://<server-ip>:3000 und ersetze <server-ip> durch die feste IP-Adresse des Docker-Servers, zum Beispiel 192.168.178.20.

Lege sofort das erste Benutzerkonto mit einem langen, einzigartigen Passwort an. Der erste registrierte Benutzer erhält Administratorrechte.

Erste Registrierung nicht offen lassen

Öffne die Oberfläche direkt nach dem Start und erstelle dein Konto, bevor andere Personen im Netzwerk darauf zugreifen können. Stelle Port 3000 niemals ungeschützt über den Router ins Internet.

7. Verbindung zu Ollama prüfen

Öffne in Open WebUI einen neuen Chat. Das geladene Modell llama3.2 sollte in der Modellauswahl erscheinen. Wähle es aus und sende eine kurze Testfrage.

Falls kein Modell angezeigt wird, prüfe aus dem Open-WebUI-Container die interne Ollama-Adresse.

docker compose exec open-webui curl -s http://ollama:11434/api/tags

Die Ausgabe soll das geladene Modell enthalten. Ein Fehler deutet meist auf einen noch nicht gestarteten Ollama-Container oder eine abweichende OLLAMA_BASE_URL hin.

8. Datenschutz richtig einordnen

Bei dieser Konfiguration laufen Modell und Chatoberfläche lokal. Aktiviere keine externen Modellanbieter, Websuche, Tools oder Funktionen, wenn Daten das Heimnetz nicht verlassen dürfen. Auch lokale Chatverläufe können vertrauliche Informationen enthalten.

Keine Zugangsdaten in Chats

Gib auch einer lokalen KI keine Passwörter, privaten Schlüssel oder ungeschützten Backups. Administratoren des Docker-Servers und jeder mit Zugriff auf die Volumes können gespeicherte Chats und hochgeladene Dateien erreichen.

9. Backup erstellen

Stoppe die Container für ein konsistentes Backup.

cd ~/docker/open-webui && docker compose stop

Sichere das Open-WebUI-Volume mit Chats, Benutzern, Einstellungen und hochgeladenen Dateien.

docker run --rm -v open-webui_open-webui-data:/data:ro -v "$PWD":/backup alpine tar -czf /backup/open-webui-data-$(date +%Y%m%d).tar.gz -C /data .

Sichere danach die Ollama-Modelle. Der Volume-Präfix open-webui_ kann bei einem anders benannten Projektordner abweichen; prüfe ihn bei Bedarf mit docker volume ls.

docker run --rm -v open-webui_ollama-data:/data:ro -v "$PWD":/backup alpine tar -czf /backup/ollama-data-$(date +%Y%m%d).tar.gz -C /data .

Sichere zusätzlich Compose- und Schlüsseldatei.

tar -czf open-webui-config-$(date +%Y%m%d).tar.gz compose.yaml .env

Starte danach beide Container wieder.

docker compose start

10. Aktualisieren und zurückrollen

Erstelle vor jedem Update die Backups aus Schritt 9. Lade danach neue Images und erstelle die Container neu.

docker compose pull
docker compose up -d

Für einen kontrollierten Betrieb kannst du statt main und latest konkrete, auf den offiziellen Release-Seiten geprüfte Versions-Tags eintragen. Bei Problemen stellst du die vorherigen Tags und die gesicherten Volumes wieder her.

11. Stoppen und sicher entfernen

Dieser Befehl stoppt und entfernt die Container, behält aber beide Daten-Volumes.

docker compose down

Später startest du denselben Stand erneut.

docker compose up -d

Volumes nicht versehentlich löschen

docker compose down -v löscht Chats, Benutzer, Einstellungen und alle heruntergeladenen Modelle. Verwende diese Option nur nach einem geprüften Backup und wenn die Installation endgültig entfernt werden soll.

12. Typische Fehler

  • Port 3000 ist belegt: Ändere nur die linke Zahl in "3000:8080", zum Beispiel auf "3001:8080".
  • Kein Modell sichtbar: Prüfe docker compose ps, die interne URL http://ollama:11434 und ob das Modell vollständig geladen wurde.
  • Antworten sind sehr langsam: Das Modell ist für CPU, RAM oder GPU zu groß. Verwende ein kleineres Modell.
  • Container startet nach Update neu: Prüfe zuerst docker compose logs open-webui und stelle nicht sofort ein altes Datenvolume ohne Backup wieder her.
  • Nach Neustart sind Chats weg: Der Container wurde ohne das Volume /app/backend/data gestartet oder aus einem anderen Projektordner erzeugt.

13. Quellen und Videos

Fertig

Open WebUI und Ollama laufen nun gemeinsam im Docker-Netz, ein lokales Modell ist geladen und die Weboberfläche besitzt ein Administratorkonto. Stelle eine Testfrage, starte den Stack neu und prüfe, ob Modell sowie Chatverlauf erhalten bleiben.