Zum Hauptinhalt springen
S-EDV news
← Alle Anleitungen
📘 Anleitung Docker 31.05.2026 · 9 min Lesezeit

Ollama und Open WebUI mit Docker: eigenes lokales KI-Sprachmodell ohne Cloud betreiben

Mit Ollama und Open WebUI betreiben Sie per Docker Compose ein eigenes KI-Sprachmodell lokal: ein ChatGPT-ähnliches Web-Interface ohne Cloud, Ihre Daten bleiben im Haus. Die Anleitung zeigt Setup, Modell-Download, GPU-Option, Updates und Backup.

Geprüft am 11.10.2026 · für Ollama 0.40.2, Open WebUI 0.12.0

WerbelinksMit * markierte Links sind Werbelinks: Bei einem Kauf erhalten wir eine Provision, der Preis bleibt gleich. Als Amazon-Partner verdiene ich an qualifizierten Verkäufen. Mehr dazu

Kompakter Rechner mit Grafikkarte und Netzwerkkabel auf einem Holzschreibtisch als Sinnbild für ein lokal betriebenes KI-Sprachmodell

Sie möchten ein eigenes KI-Sprachmodell betreiben, ohne Ihre Eingaben an OpenAI, Google oder Anthropic zu schicken? Mit Ollama als Modell-Server und Open WebUI als Chat-Oberfläche bauen Sie per Docker Compose in wenigen Minuten ein lokales ChatGPT-Pendant. Alle Daten bleiben auf Ihrer eigenen Hardware, die Verarbeitung läuft nach dem Modell-Download offline. Diese Anleitung richtet sich an Homeserver-Bastler und Admins, die einen Debian/Ubuntu-Host mit Docker betreiben und lokale Large Language Models (LLMs) wie Llama 3.2, Gemma 2 oder Qwen 2.5 nutzen wollen.

Was sind Ollama und Open WebUI?

Ollama ist ein schlanker Server, der LLMs lädt, verwaltet und über eine HTTP-API bereitstellt. Sie laden Modelle mit einem einzigen Befehl (ollama pull llama3.2) und sprechen sie dann über die API auf Port 11434 an. Ollama übernimmt das Bereitstellen quantisierter Modelle (Gewichte mit reduzierter Genauigkeit, damit sie weniger Speicher brauchen), das Laden in den Arbeitsspeicher und, wenn vorhanden, die GPU-Beschleunigung.

Open WebUI ist ein Web-Frontend, das sich mit Ollama verbindet und eine komfortable Chat-Oberfläche im Browser bietet: Konversationsverlauf, mehrere Modelle parallel, Benutzerverwaltung und Datei-Uploads inklusive. Die Oberfläche erinnert bewusst an bekannte Cloud-Chats, läuft aber vollständig bei Ihnen.

Der große Vorteil: Datenschutz. Nichts verlässt Ihr Netzwerk, Sie brauchen keinen API-Schlüssel und keine Internetverbindung (außer einmalig zum Modell-Download). Das ist ideal für vertrauliche Texte, Code oder einfach zum Experimentieren ohne laufende Kosten.

Voraussetzungen

  1. Ein Linux-Host (Debian 12 oder Ubuntu 22.04/24.04 empfohlen) mit installiertem Docker und Docker Compose Plugin
  2. RAM ist der wichtigste Faktor: mindestens 8 GB für kleine 3B-Modelle, 16 GB für komfortables Arbeiten mit 7B/8B-Modellen
  3. Ausreichend Plattenplatz: Modelle belegen je nach Größe 2-9 GB, mehrere Modelle entsprechend mehr
  4. Freie Host-Ports 8080 (Open WebUI) und optional 11434 (Ollama-API)
  5. Optional für Beschleunigung: eine NVIDIA-GPU mit installiertem nvidia-container-toolkit
  6. Einen Webbrowser für den ersten Login

Prüfen Sie zuerst, ob Docker korrekt installiert ist:

docker --version
docker compose version

Falls Docker fehlt, installieren Sie es mit dem offiziellen Skript und nehmen Ihren Benutzer in die Gruppe docker auf (ausführlich in der Anleitung Docker Installation):

curl -fsSL https://get.docker.com | sudo sh
sudo usermod -aG docker $USER

Danach einmal ab- und wieder anmelden, damit die Gruppenzugehörigkeit greift.

Schritt 1: Projektordner und Volumes anlegen

Legen Sie einen Ordner für den Stack an. Diese Anleitung nutzt /opt/ollama, Sie können aber auch ein Verzeichnis in Ihrem Home-Ordner verwenden.

sudo mkdir -p /opt/ollama
cd /opt/ollama

Die eigentlichen Daten - heruntergeladene Modelle und die Open-WebUI-Datenbank - landen in benannten Docker-Volumes, die in Schritt 2 in der Compose-Datei definiert werden. So bleiben sie auch bei einem Neuaufsetzen der Container erhalten.

Verifizieren: pwd gibt /opt/ollama aus.

Schritt 2: docker-compose.yml erstellen

Erstellen Sie im Projektordner eine Datei docker-compose.yml mit folgendem Inhalt. Dieser Stack startet beide Container und verbindet sie über ein internes Netzwerk - Open WebUI erreicht Ollama unter dem Hostnamen ollama.

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    volumes:
      - ollama-data:/root/.ollama
    # Port nur freigeben, wenn Sie die API direkt nutzen wollen:
    # ports:
    #   - "11434:11434"

  open-webui:
    image: ghcr.io/open-webui/open-webui:latest
    container_name: open-webui
    restart: unless-stopped
    depends_on:
      - ollama
    ports:
      - "8080:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - open-webui:/app/backend/data

volumes:
  ollama-data:
  open-webui:

Wichtig ist die Zeile OLLAMA_BASE_URL=http://ollama:11434: Sie sagt Open WebUI, wo der Modell-Server erreichbar ist. Da beide Container im selben Compose-Netzwerk laufen, genügt der Service-Name ollama als Hostname. Den Port 11434 müssen Sie nur dann nach außen freigeben (auskommentierter ports-Block), wenn andere Tools direkt mit der Ollama-API sprechen sollen. Die Images stehen hier auf :latest. Für den Produktivbetrieb schreiben Sie besser eine feste Version fest (siehe Abschnitt Updates und Wartung).

Verifizieren: docker compose config gibt die Konfiguration ohne Fehlermeldung aus und listet die Services ollama und open-webui.

Schritt 3: Stack starten

Starten Sie beide Container im Hintergrund:

docker compose up -d

Beim ersten Start werden die Images ollama/ollama und ghcr.io/open-webui/open-webui heruntergeladen - das kann je nach Verbindung ein paar Minuten dauern. Prüfen Sie danach den Status:

docker compose ps

Die Logs sehen Sie bei Bedarf mit docker compose logs -f.

Verifizieren: docker compose ps zeigt ollama und open-webui mit Status Up (Open WebUI nach einer Minute mit (healthy)), und docker exec ollama ollama --version gibt eine Versionsnummer aus.

Schritt 4: Erstes Modell herunterladen

Ollama startet zunächst ohne Modelle. Sie laden ein Modell entweder später über die Open-WebUI-Oberfläche oder direkt per Kommandozeile im Container. Für den Einstieg eignet sich das kleine, schnelle llama3.2 (3B):

docker exec -it ollama ollama pull llama3.2

Weitere bewährte Modelle, je nach verfügbarem RAM:

  1. ollama pull gemma2 - Googles Gemma 2, gute Allround-Qualität
  2. ollama pull qwen2.5 - stark bei Code und mehrsprachig
  3. ollama pull llama3.2:1b - winziges 1B-Modell für schwache Hardware

Welche Modelle bereits lokal liegen, zeigt:

docker exec -it ollama ollama list
Faustregel zum Speicher: Ein 7B/8B-Modell in Standard-Quantisierung belegt rund 5-6 GB RAM, ein 3B-Modell etwa 2-3 GB. Reicht der Arbeitsspeicher nicht, antwortet das Modell entweder sehr langsam oder der Container wird vom System beendet. Im CPU-only-Betrieb sind 3B- bis 7B-Modelle realistisch, größere Modelle brauchen eine GPU. Eine ausführliche Entscheidungshilfe bietet die Anleitung Ollama-Modelle richtig auswählen.

Verifizieren: docker exec -it ollama ollama list führt llama3.2:latest mit einer Größe von etwa 2 GB auf, und docker exec -it ollama ollama run llama3.2 "Sag Hallo" liefert eine Antwort.

Schritt 5: Open WebUI öffnen und Admin-Konto anlegen

Rufen Sie im Browser http://SERVER-IP:8080 auf (ersetzen Sie SERVER-IP durch die Adresse Ihres Hosts, lokal also http://localhost:8080). Beim ersten Aufruf legen Sie ein Konto an.

  1. Klicken Sie auf Konto erstellen bzw. Sign up.
  2. Geben Sie Name, E-Mail und ein Passwort ein.
  3. Der erste registrierte Benutzer wird automatisch zum Administrator. Bewahren Sie diese Zugangsdaten sicher auf.
Open WebUI, Seite Loslegen mit Open WebUI: Felder Name (1), E-Mail (2), Passwort (3) und Schaltfläche Admin-Konto erstellen (4)
Erstes Konto anlegen: 1 Name, 2 E-Mail, 3 Passwort eingeben, 4 auf Admin-Konto erstellen klicken.

Diese E-Mail und das Passwort sind nur lokal, Sie können also eine beliebige Adresse wie admin@local verwenden. Wählen Sie trotzdem ein starkes Passwort, falls die Oberfläche später erreichbar gemacht wird. Für einen Zugriff von außen gehört ein Reverse Proxy mit HTTPS davor, etwa nach der Anleitung Caddy als Reverse Proxy einrichten.

Nach dem Login wählen Sie oben im Chat das gewünschte Modell (z. B. llama3.2) aus und stellen Ihre erste Frage. Modelle lassen sich auch direkt in der WebUI nachladen: Tippen Sie im Modell-Auswahlfeld einen Namen wie gemma2 ein, Open WebUI bietet dann den Download an. Alternativ verwalten Administratoren Modelle unter Admin-Einstellungen → Verbindungen über die Schaltfläche Verwalten neben der Ollama-Verbindung.

Open WebUI, neuer Chat: Modellauswahl qwen2.5:0.5b (1), Eingabefeld mit einer Testfrage (2) und Senden-Schaltfläche (3)
Erste Frage stellen: 1 Modell wählen, 2 Frage eintippen, 3 senden. Im Test lief das kleine Modell qwen2.5:0.5b.
Open WebUI, Admin-Einstellungen, Verbindungen: Menüpunkt Verbindungen (1), Ollama-Verbindung http://ollama:11434 (2) und Schaltfläche Verwalten (3)
Admin-Einstellungen: 1 Verbindungen öffnen, 2 Ollama-Verbindung prüfen, 3 über Verwalten Modelle laden.

Verifizieren: Nach dem Login zeigt das Modell-Auswahlfeld llama3.2, und eine Testfrage wird beantwortet. Unter Admin-Einstellungen → Verbindungen ist die Ollama-Verbindung http://ollama:11434 aktiv.

Schritt 6 (optional): GPU-Beschleunigung mit NVIDIA aktivieren

Haben Sie eine NVIDIA-GPU, beschleunigt sie die Antworten erheblich. Installieren Sie zunächst das nvidia-container-toolkit nach der offiziellen NVIDIA-Anleitung und starten Sie den Docker-Dienst neu. Ergänzen Sie danach den ollama-Service in der Compose-Datei um die GPU-Reservierung:

  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    restart: unless-stopped
    volumes:
      - ollama-data:/root/.ollama
    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

Nach docker compose up -d nutzt Ollama nun die Grafikkarte. Ob die GPU erkannt wird, prüfen Sie mit:

docker exec -it ollama nvidia-smi

Ohne GPU funktioniert alles ebenfalls - nur eben langsamer und allein über die CPU. Für reine Textaufgaben mit kleinen Modellen ist das brauchbar.

Verifizieren: docker exec -it ollama nvidia-smi listet Ihre Grafikkarte. Während einer Antwort zeigt docker exec -it ollama ollama ps in der Spalte PROCESSOR den Wert 100% GPU statt 100% CPU.

Update auf Ollama 0.40.2 und Open WebUI 0.12.0: Sichern Sie vor dem Image-Wechsel beide Volumes. Ollama aktualisiert ältere Modellformate beim ersten Aufruf im Hintergrund und behält zunächst die alten Modelldateien als Rückfallkopie; planen Sie dafür zusätzlichen Speicher ein. Open WebUI ergänzt unter Admin-Einstellungen > Authentifizierung eine verpflichtende Zwei-Faktor-Anmeldung mit Wiederherstellungscodes. Aktivieren Sie neue Cloud-Funktionen wie Realtime-Sprachanrufe nur bewusst: Diese verwenden einen externen Anbieter und gehören nicht zum rein lokalen Betrieb. Im Upgrade-Test blieb das Administratorkonto erhalten, die Ollama-Verbindung meldete 0.40.2 und das vorhandene Modell qwen2.5:0.5b beantwortete erneut eine Anfrage.

Updates und Wartung

Beide Images werden aktiv weiterentwickelt. Ein Update spielen Sie so ein:

cd /opt/ollama
docker compose pull
docker compose up -d

Alte, ungenutzte Images entfernen Sie danach mit docker image prune. Ihre Modelle und Chats bleiben dabei erhalten, da sie in den Volumes liegen.

Für den Produktivbetrieb empfiehlt es sich, statt :latest einen festen Tag zu pinnen, damit ein Update nicht unbemerkt etwas verändert. Ollama veröffentlicht Versions-Tags wie ollama/ollama:0.40.2 auf Docker Hub, Open WebUI Tags wie ghcr.io/open-webui/open-webui:v0.12.0 (Stand 11.10.2026). Prüfen Sie die jeweils aktuelle Version auf den Release-Seiten der Projekte und tragen Sie den passenden Tag ein.

Backup

Sicherungswürdig ist vor allem das Volume open-webui - dort liegen Benutzer, Einstellungen und Chatverläufe. Die Modelle im Volume ollama-data können Sie jederzeit neu herunterladen, ein Backup ist hier optional (spart aber Zeit). Ein einfaches Archiv erstellen Sie z. B. so:

Docker Compose stellt dem Volume-Namen den Projektnamen voran. Den tatsächlichen Namen (bei Projektordner /opt/ollama meist ollama_open-webui) zeigt docker volume ls. Passen Sie ihn im Befehl an:

docker run --rm -v open-webui:/data -v $(pwd):/backup alpine \
  tar czf /backup/open-webui-backup.tar.gz -C /data .

Auf einem NAS nehmen Sie die Docker-Volumes entsprechend in Ihre regelmäßige Datensicherung (z. B. Hyper Backup) auf.

Troubleshooting

  1. Open WebUI zeigt keine Modelle: Prüfen Sie, ob die Variable OLLAMA_BASE_URL=http://ollama:11434 korrekt gesetzt ist und beide Container im selben Netzwerk laufen. Test: docker exec -it open-webui curl http://ollama:11434 sollte Ollama is running ausgeben.
  2. Container wird beim Antworten beendet (OOMKilled): Das Modell ist zu groß für den RAM. Wählen Sie ein kleineres Modell wie llama3.2:1b oder erweitern Sie den Arbeitsspeicher.
  3. Antworten extrem langsam: Ohne GPU rechnet die CPU, das ist bei größeren Modellen normal. Kleineres Modell wählen oder GPU einrichten (Schritt 6).
  4. Port 8080 bereits belegt: Ändern Sie das Port-Mapping in der Compose-Datei, z. B. auf 3000:8080, und rufen Sie die Oberfläche unter dem neuen Port auf.
  5. GPU wird nicht genutzt: nvidia-container-toolkit installiert und Docker neu gestartet? Mit docker exec -it ollama nvidia-smi prüfen.

Hinweis für Synology-Nutzer

Grundsätzlich läuft dieser Stack auch im Container Manager unter DSM 7.2 als Projekt. Sinnvoll ist das aber nur auf Modellen mit ausreichend RAM - die meisten Synology-NAS haben für LLMs zu wenig Arbeitsspeicher und keine nutzbare GPU. Wenn Ihr NAS 16 GB oder mehr RAM hat, können Sie den gleichen docker-compose.yml-Inhalt im Container Manager als Projekt anlegen, die Volumes liegen dann unter /volume1/docker/ollama. Für ernsthafte Nutzung ist ein dedizierter Linux-Host die bessere Wahl.

Fazit

Mit Ollama und Open WebUI haben Sie in wenigen Schritten ein eigenes, vollständig lokales KI-Sprachmodell aufgesetzt: ohne Cloud, ohne API-Kosten und ohne dass Ihre Eingaben das eigene Netzwerk verlassen. Der Stack ist leicht zu warten, über Volumes sicher gegen Container-Neustarts und lässt sich jederzeit um weitere Modelle erweitern. Wie schnell und wie groß die Modelle laufen, hängt vor allem an Ihrem RAM und einer optionalen GPU. Für den Einstieg reichen kleine 3B-Modelle auf der CPU, und Sie behalten die volle Kontrolle über Ihre Daten.

Weitere Anleitungen in den Kategorien Docker und Synology / NAS.

Quellen: Ollama (GitHub), Open WebUI Dokumentation, Open WebUI (GitHub)