open-how2 – Entdecke. Verstehe. Nutze.
Veröffentlicht am
How2-Host

Open WebUI mit Docker installieren: Schnellstart für lokale KI-Systeme

Autor
Open WebUI mit Docker installieren: Schnellstart für lokale KI-Systeme

Open WebUI Installation unter Docker

Nachdem wir im vorherigen Teil die native Installation ohne Container betrachtet haben, widmen wir uns nun der zweiten, sehr beliebten Variante: Open WebUI unter Docker. Diese Methode ist besonders attraktiv für alle, die schnell starten, sauber kapseln oder bestehende Docker-Infrastrukturen nutzen möchten.

Auch hier gilt: Docker ist kein Muss – aber ein sehr praktisches Werkzeug, wenn man weiß, was man tut.

Warum Docker für Open WebUI?

Docker verfolgt ein klares Ziel: reproduzierbare, isolierte Umgebungen. Genau das passt gut zu Open WebUI, das selbst modular aufgebaut ist.

Typische Gründe für Docker:

  • schneller Start ohne Python-Setup
  • saubere Trennung von System & Anwendung
  • einfache Updates
  • ideal für Tests, Demos & Prototypen
  • gut geeignet für Server mit mehreren Services

Für produktive Dauerinstallationen ist Docker Geschmackssache – technisch spricht aber nichts dagegen.

Voraussetzungen für die Docker-Installation

Bevor es losgeht, sollten folgende Punkte erfüllt sein:

🔹 System

  • Linux-Server (z. B. Debian, Ubuntu)
  • Docker installiert
  • Docker Compose verfügbar (empfohlen)

🔹 Lokale Modell-Runtime

  • Ollama (kann ebenfalls in Docker oder nativ laufen)

Wichtig: Open WebUI bringt keine Modelle mit. Ollama ist auch im Docker-Setup zwingend erforderlich.

Variante 1: Open WebUI + Ollama beide in Docker (empfohlen)

Diese Variante ist besonders übersichtlich, da beide Dienste im gleichen Docker-Netzwerk laufen.

Beispiel docker-compose.yml

version: "3.9"

services:
  ollama:
    image: ollama/ollama:latest
    container_name: ollama
    volumes:
      - ollama:/root/.ollama
    ports:
      - "11434:11434"

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

volumes:
  ollama:
  openwebui:

Starten der Container

docker compose up -d

Danach erreichbar unter:

http://localhost:8080

Variante 2: Open WebUI im Docker, Ollama nativ

Diese Konstellation ist sinnvoll, wenn:

  • Ollama direkten Zugriff auf GPU / Hardware braucht
  • Ollama bereits produktiv läuft
  • Docker nur für das UI genutzt werden soll

Dann genügt folgende Umgebungsvariable:

environment:
  - OLLAMA_BASE_URL=http://host.docker.internal:11434

(unter Linux ggf. stattdessen die Server-IP verwenden)

Erster Start & Initialisierung

Beim ersten Aufruf von Open WebUI passiert automatisch:

  • Initialisierung der internen Datenbank
  • Anlegen der Grundstruktur
  • Registrierung des ersten Benutzers

👉 Der erste Benutzer ist automatisch Admin.

Danach solltest du prüfen:

  • Wird Ollama erkannt?
  • Sind Modelle sichtbar?
  • Ist ein Default-Modell gesetzt?

Typische Docker-spezifische Fehlerquellen

❌ Kein Modell sichtbar

Ursache: Falsche OLLAMA_BASE_URL oder Netzwerkproblem Lösung:

  • Container-Namen prüfen
  • Docker-Netzwerk testen (docker exec)

❌ Daten nach Neustart weg

Ursache: Kein Volume eingebunden Lösung:

  • Persistente Volumes für /app/backend/data nutzen

❌ Performance schlechter als erwartet

Ursache: Docker-Overhead oder fehlender GPU-Zugriff Lösung:

  • GPU-Passthrough prüfen
  • Alternativ Ollama nativ betreiben

Docker vs. Native – ehrlicher Vergleich

Aspekt Docker Native
Setup sehr schnell etwas aufwendiger
Kontrolle mittel hoch
Debugging eingeschränkt direkt
Updates einfach manuell
Produktivbetrieb gut möglich sehr gut

Kurz gesagt: Docker ist perfekt für schnelle, saubere Setups. Native Installationen sind oft langfristig transparenter.

Docker ist Werkzeug, kein Dogma

Open WebUI funktioniert unter Docker stabil, sauber und zuverlässig. Entscheidend ist nicht die Methode, sondern dass:

  • Modelle korrekt angebunden sind
  • Daten persistent gespeichert werden
  • Zuständigkeiten klar getrennt bleiben

Im nächsten Teil geht es weiter mit dem täglichen Arbeiten: Modelle anbinden & steuern – welche LLMs sich wann lohnen.