Zum Inhalt springen
labkompass

Guides · KI & Local AI

Open WebUI mit Ollama: Die Chat-Oberfläche fürs eigene LLM

Open WebUI per Docker Compose mit Ollama verbinden: ein Compose-Stack für beides, Admin-Konto und Nutzerverwaltung, Modelle im Browser laden — und der Grund, warum nur die WebUI erreichbar sein sollte, nicht die Ollama-API.

Von Niclas Hennrich · Veröffentlicht: · 3 Min. Lesezeit


Kurz gesagt: Open WebUI gibt deinem Ollama eine Browser-Oberfläche im ChatGPT-Stil — mit Verläufen, Modell-Umschalter und lokaler Nutzerverwaltung. Der sauberste Aufbau ist ein gemeinsamer Docker-Compose-Stack: Beide Container teilen sich ein internes Netz, nach außen ist nur die WebUI erreichbar, die authentifizierungslose Ollama-API bleibt komplett eingesperrt. Das erste registrierte Konto wird automatisch Admin.

Im Terminal mit einem Modell zu chatten ist ein netter Beweis, dass alles läuft — benutzbar im Alltag wird Local AI aber erst mit einer richtigen Oberfläche, die Gespräche speichert und die auch der Rest des Haushalts bedienen kann. Genau diese Lücke füllt Open WebUI.

Der Compose-Stack: Ollama + Open WebUI zusammen #

Wenn du Docker Compose schon im Einsatz hast (falls nicht: die Grundlagen zeigt der Pi-hole-Compose-Guide), ist das der empfohlene Aufbau:

services:
  ollama:
    image: ollama/ollama
    container_name: ollama
    volumes:
      - ollama:/root/.ollama
    restart: unless-stopped
    # Kein ports-Eintrag: Die API ist nur im Compose-Netz erreichbar.
 
  open-webui:
    image: ghcr.io/open-webui/open-webui:main
    container_name: open-webui
    depends_on:
      - ollama
    ports:
      - "3000:8080"
    environment:
      - OLLAMA_BASE_URL=http://ollama:11434
    volumes:
      - open-webui:/app/backend/data
    restart: unless-stopped
 
volumes:
  ollama:
  open-webui:

Die Architektur-Entscheidung steckt im Detail: Der Ollama-Service hat keinen ports-Eintrag. Open WebUI erreicht ihn über den Servicenamen im internen Compose-Netz — vom LAN aus ist die API ohne Authentifizierung damit gar nicht erst ansprechbar. Nach außen existiert nur Port 3000 mit der WebUI und ihrem Login.

Für NVIDIA-GPU-Beschleunigung bekommt der ollama-Service zusätzlich die GPU-Reservierung (Host braucht das NVIDIA Container Toolkit):

    deploy:
      resources:
        reservations:
          devices:
            - driver: nvidia
              count: all
              capabilities: [gpu]

Dann starten:

docker compose up -d

Variante: Läuft Ollama bereits nativ auf dem Host, entfällt der ollama-Service; als OLLAMA_BASE_URL trägst du dann http://host.docker.internal:11434 ein (unter Linux zusätzlich extra_hosts: ["host.docker.internal:host-gateway"]) — und Ollama muss auf dem entsprechenden Interface lauschen, was du wiederum per Firewall auf Docker beschränken solltest. Der gemeinsame Stack ist schlicht die Variante mit weniger Stolperdraht.

Erster Start: Das Admin-Konto #

Unter http://<server>:3000 begrüßt dich die Registrierungsseite — und hier stolpern viele: Das ist kein Cloud-Login. Das Konto existiert nur auf deiner Instanz, im open-webui-Volume. Die erste Registrierung wird automatisch zum Administrator; alle weiteren Anmeldungen landen je nach Einstellung in einer Warteschlange, bis der Admin sie freischaltet — sinnvoll, wenn die Instanz später im Heimnetz für mehrere Personen erreichbar ist.

Nach dem Login wählst du oben links das Modell — dort erscheint alles, was dein Ollama geladen hat. Neue Modelle ziehst du als Admin direkt aus der Oberfläche (Admin-Einstellungen → Modelle) oder klassisch per docker exec -it ollama ollama pull …. Vorher kurz prüfen, ob die Modellgröße zu deinem Speicher passt.

Was Open WebUI über den Chat hinaus kann #

Ein paar Funktionen, die den Unterschied zum Terminal ausmachen — ohne dass du dafür etwas konfigurieren musst:

  • Verläufe & Suche: Gespräche werden gespeichert, sind durchsuchbar und lassen sich fortsetzen — das Kontextfenster-Limit (was das ist) gilt natürlich trotzdem.
  • Dokumente: Dateien lassen sich hochladen und im Chat befragen (RAG) — die Dokumente bleiben dabei lokal auf deinem Server.
  • Mehrere Backends: Neben Ollama lassen sich OpenAI-kompatible APIs einbinden — so wird die WebUI zur gemeinsamen Oberfläche für lokale und Cloud-Modelle.
  • Nutzerverwaltung: Familienmitglieder bekommen eigene Konten mit eigenen Verläufen — und keinen Zugriff auf die Admin-Einstellungen.

Zugriff & Updates #

Fürs Heimnetz gilt die übliche Homelab-Hygiene: Die WebUI bleibt im LAN bzw. VLAN, von unterwegs kommst du per Tailscale oder WireGuard dran — eine Portweiterleitung hat hier nichts verloren, Login hin oder her.

Updates laufen wie bei jedem Compose-Dienst:

docker compose pull && docker compose up -d

Open WebUI entwickelt sich schnell; das main-Tag ist entsprechend lebendig. Wer es ruhiger mag, pinnt einen Versions-Tag und aktualisiert bewusst.

Weiterlesen #

Häufige Fragen

Was ist Open WebUI?
Eine selbstgehostete Web-Oberfläche für lokale Sprachmodelle — optisch und funktional nah an ChatGPT, aber komplett im eigenen Netz: Chats mit Verlauf, Modell-Auswahl, Nutzerverwaltung, Dokumenten-Upload. Als Backend dient typischerweise Ollama; OpenAI-kompatible APIs lassen sich zusätzlich anbinden.
Wie verbinde ich Open WebUI mit Ollama?
Am saubersten laufen beide im selben Docker-Compose-Stack: Open WebUI erreicht Ollama dann über den Servicenamen (OLLAMA_BASE_URL=http://ollama:11434), und die Ollama-API muss auf keinem Host-Port veröffentlicht werden. Läuft Ollama nativ auf dem Host, trägst du stattdessen dessen Adresse als Base-URL ein und begrenzt den Zugriff auf das Docker-Netz.
Braucht Open WebUI einen eigenen Account? Bei wem lande ich da?
Der Account ist rein lokal: Die erste Registrierung auf deiner Instanz wird automatisch zum Admin-Konto, alle Daten bleiben in deinem Volume. Es gibt keinen Cloud-Zwang und keine Telemetrie-Anmeldung — die Nutzerverwaltung existiert, damit Familie oder Mitbewohner eigene Chats bekommen und nicht jeder Admin ist.
Kann ich über Open WebUI neue Modelle herunterladen?
Ja — als Admin lassen sich Ollama-Modelle direkt aus der Oberfläche ziehen und löschen (Verwaltung der Modelle in den Admin-Einstellungen). Das ist derselbe Mechanismus wie ollama pull auf der Kommandozeile; achte vorher darauf, dass die Modellgröße zu deinem Speicher passt.
Sollte ich Open WebUI ins Internet stellen?
Nein — es gehört wie alle Homelab-Dienste hinter dein VPN. Open WebUI hat zwar ein Login, aber ein öffentlich erreichbares LLM-Frontend kombiniert Brute-Force-Fläche mit teurer Rechenlast im Hintergrund. Für unterwegs ist ein Overlay-Netz wie Tailscale oder WireGuard der passende Zugang.

Weiterlesen