⏱️ Schnellstart
- Admin-Erstellung: Das erste Konto, das in Open WebUI erstellt wird, erhält Administratorrechte und somit Kontrolle über Benutzerverwaltung und Systemeinstellungen.
- Benutzerregistrierungen: Nachfolgende Anmeldungen starten mit dem Status Ausstehend und benötigen die Genehmigung des Administrators für den Zugriff.
- Privatsphäre und Datensicherheit: Alle Ihre Daten, einschließlich Anmeldedaten, werden lokal auf Ihrem Gerät gespeichert. Open WebUI gewährleistet strenge Vertraulichkeit und keine externen Anforderungen für verbesserte Privatsphäre und Sicherheit.
- Alle Modelle sind standardmäßig privat. Modelle müssen explizit über Gruppen freigegeben oder öffentlich gemacht werden. Wenn ein Modell einer Gruppe zugewiesen wird, können es nur Mitglieder dieser Gruppe sehen. Wenn ein Modell öffentlich gemacht wird, können alle Benutzer innerhalb der Instanz es sehen.
Wählen Sie unten Ihre bevorzugte Installationsmethode aus:
- Docker: Offiziell unterstützt und empfohlen für die meisten Benutzer
- Python: Geeignet für ressourcenschwache Umgebungen oder Benutzer, die eine manuelle Einrichtung bevorzugen
- Kubernetes: Ideal für unternehmensweite Bereitstellungen, die Skalierung und Orchestrierung erfordern
- Docker
- Python
- Kubernetes
- Drittanbieter
- Docker
- Docker Compose
- Podman
- Docker Swarm
Schnellstart mit Docker 🐳
Befolgen Sie diese Schritte, um Open WebUI mit Docker zu installieren.
Schritt 1: Open WebUI-Image abrufen
Beginnen Sie damit, das neueste Open WebUI-Docker-Image aus dem GitHub Container-Register abzurufen.
docker pull ghcr.io/open-webui/open-webui:main
Schritt 2: Container ausführen
Führen Sie den Container mit den Standardeinstellungen aus. Dieser Befehl beinhaltet eine Volumen-Mapping-Option, um eine dauerhafte Datenspeicherung sicherzustellen.
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Wichtige Flags
- Volumen-Mapping (
-v open-webui:/app/backend/data
): Stellt die dauerhafte Speicherung Ihrer Daten sicher. Dies verhindert Datenverluste zwischen Container-Neustarts. - Port-Mapping (
-p 3000:8080
): Stellt die WebUI an Port 3000 Ihrer lokalen Maschine bereit.
Verwendung von GPU-Unterstützung
Für Nvidia-GPU-Unterstützung fügen Sie --gpus all
zum docker run
-Befehl hinzu:
docker run -d -p 3000:8080 --gpus all -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:cuda
Einzelbenutzermodus (Login deaktivieren)
Um die Anmeldeseite für eine Einzelbenutzer-Einrichtung zu umgehen, setzen Sie die Umgebungsvariable WEBUI_AUTH
auf False
:
docker run -d -p 3000:8080 -e WEBUI_AUTH=False -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Sie können nach dieser Änderung nicht mehr zwischen Einzelbenutzermodus und Mehrbenutzermodus wechseln.
Erweiterte Konfiguration: Verbindung zu Ollama auf einem anderen Server
Um Open WebUI mit einem Ollama-Server auf einem anderen Host zu verbinden, fügen Sie die Umgebungsvariable OLLAMA_BASE_URL
hinzu:
docker run -d -p 3000:8080 -e OLLAMA_BASE_URL=https://example.com -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main
Zugriff auf die WebUI
Sobald der Container läuft, können Sie auf Open WebUI zugreifen unter:
Für detaillierte Hilfe zu jedem Docker-Flag siehe Dokumentation von Docker.
Aktualisierung
Um Ihre lokale Docker-Installation auf die neueste Version zu aktualisieren, können Sie entweder Watchtower verwenden oder den Container manuell aktualisieren.
Option 1: Verwendung von Watchtower
Mit Watchtower können Sie den Aktualisierungsprozess automatisieren:
docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui
(Ersetzen Sie open-webui
durch den Namen Ihres Containers, falls dieser unterschiedlich ist.)
Option 2: Manuelle Aktualisierung
-
Stoppen und entfernen Sie den aktuellen Container:
docker rm -f open-webui
-
Holen Sie die neueste Version:
docker pull ghcr.io/open-webui/open-webui:main
-
Starten Sie den Container erneut:
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Beide Methoden aktualisieren Ihre Docker-Instanz und bringen sie mit dem neuesten Build wieder zum Laufen.
Docker Compose Einrichtung
Die Verwendung von Docker Compose vereinfacht die Verwaltung von Multi-Container-Docker-Anwendungen.
Falls Docker nicht installiert ist, sehen Sie sich unser Docker Installations-Tutorial an.
Docker Compose erfordert ein zusätzliches Paket, docker-compose-v2
.
Warnung: Ältere Docker Compose Tutorials könnten Syntax der Version 1 verwenden, die Befehle wie docker-compose build
nutzen. Stellen Sie sicher, dass Sie die Syntax der Version 2 verwenden, die Befehle wie docker compose build
nutzt (beachten Sie den Leerzeichen anstelle eines Bindestrichs).
Beispiel docker-compose.yml
Hier ist eine Beispielkonfigurationsdatei für die Einrichtung von Open WebUI mit Docker Compose:
version: 3
services:
openwebui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
volumes:
open-webui:
Starten der Dienste
Um Ihre Dienste zu starten, führen Sie den folgenden Befehl aus:
docker compose up -d
Hilfsskript
Ein nützliches Hilfsskript namens run-compose.sh
ist im Code enthalten. Dieses Skript hilft bei der Auswahl der einzubindenden Docker Compose-Dateien für Ihre Bereitstellung und vereinfacht den Einrichtungsprozess.
Hinweis: Für Nvidia GPU-Unterstützung ändern Sie das Image von ghcr.io/open-webui/open-webui:main
zu ghcr.io/open-webui/open-webui:cuda
und fügen Sie Folgendes zu Ihrer Dienstdefinition in der docker-compose.yml
-Datei hinzu:
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: all
capabilities: [gpu]
Diese Einrichtung stellt sicher, dass Ihre Anwendung GPU-Ressourcen nutzen kann, wenn verfügbar.
Podman verwenden
Podman ist eine daemonlose Container-Engine für die Entwicklung, Verwaltung und Ausführung von OCI-Containern.
Grundlegende Befehle
-
Einen Container ausführen:
podman run -d --name openwebui -p 3000:8080 -v open-webui:/app/backend/data ghcr.io/open-webui/open-webui:main
-
Liste der laufenden Container anzeigen:
podman ps
Netzwerk mit Podman
Falls Netzwerkprobleme auftreten, verwenden Sie slirp4netns, um die Netzwerkeinstellungen des Pods anzupassen und dem Container Zugriff auf die Ports Ihres Computers zu ermöglichen.
Stellen Sie sicher, dass Sie slirp4netns installiert haben. Entfernen Sie den vorherigen Container, falls dieser existiert, mit podman rm
und starten Sie einen neuen Container mit
podman run -d --network=slirp4netns:allow_host_loopback=true --name openwebui -p 3000:8080 -v open-webui:/app/backend/data ghcr.io/open-webui/open-webui:main
Falls Sie Ollama von Ihrem Computer aus verwenden (nicht innerhalb eines Containers ausgeführt),
Navigieren Sie innerhalb von open-webui zu Einstellungen > Admin-Einstellungen > Verbindungen und erstellen Sie eine neue Ollama-API-Verbindung zu http://10.0.2.2:[OLLAMA PORT]
. Standardmäßig ist der Ollama-Port 11434.
Weitere Informationen zu erweiterten Konfigurationen finden Sie in der Podman Dokumentation.
Docker Swarm
Diese Installationsmethode erfordert Kenntnisse über Docker Swarms, da ein Stack-Datei verwendet wird, um drei separate Container als Dienste in einem Docker Swarm bereitzustellen.
Es umfasst isolierte Container von ChromaDB, Ollama und OpenWebUI. Zusätzlich gibt es vorausgefüllte Umgebungsvariablen, um die Einrichtung weiter zu veranschaulichen.
Wählen Sie den passenden Befehl basierend auf Ihrer Hardware-Konfiguration:
-
Vor dem Start:
Verzeichnisse für Ihre Volumes müssen auf dem Host erstellt werden, oder Sie können einen benutzerdefinierten Speicherort oder ein Volume angeben.
Das aktuelle Beispiel verwendet ein isoliertes Verzeichnis
data
, das sich im selben Verzeichnis wie diedocker-stack.yaml
befindet.-
Zum Beispiel:
mkdir -p data/open-webui data/chromadb data/ollama
-
-
Mit GPU-Unterstützung:
Docker-stack.yaml
version: 3.9
services:
openWebUI:
image: ghcr.io/open-webui/open-webui:main
depends_on:
- chromadb
- ollama
volumes:
- ./data/open-webui:/app/backend/data
environment:
DATA_DIR: /app/backend/data
OLLAMA_BASE_URLS: http://ollama:11434
CHROMA_HTTP_PORT: 8000
CHROMA_HTTP_HOST: chromadb
CHROMA_TENANT: default_tenant
VECTOR_DB: chroma
WEBUI_NAME: Awesome ChatBot
CORS_ALLOW_ORIGIN: "*" # Dies ist der aktuelle Standard, muss vor dem Live-Schalten geändert werden.
RAG_EMBEDDING_ENGINE: ollama
RAG_EMBEDDING_MODEL: nomic-embed-text-v1.5
RAG_EMBEDDING_MODEL_TRUST_REMOTE_CODE: "True"
ports:
- target: 8080
published: 8080
mode: overlay
deploy:
replicas: 1
restart_policy:
condition: any
delay: 5s
max_attempts: 3
chromadb:
hostname: chromadb
image: chromadb/chroma:0.5.15
volumes:
- ./data/chromadb:/chroma/chroma
environment:
- IS_PERSISTENT=TRUE
- ALLOW_RESET=TRUE
- PERSIST_DIRECTORY=/chroma/chroma
ports:
- target: 8000
published: 8000
mode: overlay
deploy:
replicas: 1
restart_policy:
condition: any
delay: 5s
max_attempts: 3
healthcheck:
test: ["CMD-SHELL", "curl localhost:8000/api/v1/heartbeat || exit 1"]
interval: 10s
retries: 2
start_period: 5s
timeout: 10s
ollama:
image: ollama/ollama:latest
hostname: ollama
ports:
- target: 11434
published: 11434
mode: overlay
deploy:
resources:
reservations:
generic_resources:
- discrete_resource_spec:
kind: "NVIDIA-GPU"
value: 0
replicas: 1
restart_policy:
condition: any
delay: 5s
max_attempts: 3
volumes:
- ./data/ollama:/root/.ollama-
Zusätzliche Anforderungen:
- Stellen Sie sicher, dass CUDA aktiviert ist, und folgen Sie den Anweisungen Ihres Betriebssystems und Ihrer GPU.
- Aktivieren Sie die GPU-Unterstützung für Docker, siehe Nvidia Container Toolkit
- Folgen Sie der Anleitung zur konfiguration von Docker Swarm zur Arbeit mit Ihrer GPU
- Stellen Sie sicher, dass die GPU-Ressource in
/etc/nvidia-container-runtime/config.toml
aktiviert ist und aktivieren Sie die GPU-Ressourcen-Werbung, indem Sie die Zeileswarm-resource = "DOCKER_RESOURCE_GPU"
auskommentieren. Der Docker-Daemon muss nach dem Aktualisieren dieser Dateien auf jedem Knoten neu gestartet werden.
-
-
Mit CPU-Unterstützung:
Modifizieren Sie den Ollama-Dienst innerhalb der
docker-stack.yaml
und entfernen Sie die Zeilen fürgeneric_resources:
ollama:
image: ollama/ollama:latest
hostname: ollama
ports:
- target: 11434
published: 11434
mode: overlay
deploy:
replicas: 1
restart_policy:
condition: any
delay: 5s
max_attempts: 3
volumes:
- ./data/ollama:/root/.ollama -
Docker-Stack bereitstellen:
docker stack deploy -c docker-stack.yaml -d super-awesome-ai
- uv
- Conda
- Venv
- Entwicklung
Installation mit uv
Der uv
Laufzeitmanager gewährleistet eine nahtlose Verwaltung von Python-Umgebungen für Anwendungen wie Open WebUI. Befolgen Sie diese Schritte, um zu beginnen:
1. Installieren Sie uv
Wählen Sie den passenden Installationsbefehl für Ihr Betriebssystem:
-
macOS/Linux:
curl -LsSf https://astral.sh/uv/install.sh | sh
-
Windows:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
2. Open WebUI ausführen
Sobald uv
installiert ist, ist das Ausführen von Open WebUI kinderleicht. Verwenden Sie den untenstehenden Befehl und stellen Sie sicher, die Umgebungsvariable DATA_DIR
festzulegen, um Datenverluste zu vermeiden. Beispielpfade sind für jede Plattform angegeben:
-
macOS/Linux:
DATA_DIR=~/.open-webui uvx --python 3.11 open-webui@latest serve
-
Windows (PowerShell):
$env:DATA_DIR="C:\open-webui\data"; uvx --python 3.11 open-webui@latest serve
Aktualisierung mit Python
Um Ihr lokal installiertes Open-WebUI-Paket mit pip
auf die neueste Version zu aktualisieren, folgen Sie diesen einfachen Schritten:
pip install -U open-webui
Das -U
(oder --upgrade
)-Flag stellt sicher, dass pip
das Paket auf die neueste verfügbare Version aktualisiert.
Das ist alles! Ihr Open-WebUI-Paket wurde nun aktualisiert und ist bereit zur Verwendung.
Installation mit Conda
-
Erstellen Sie eine Conda-Umgebung:
conda create -n open-webui python=3.11
-
Aktivieren Sie die Umgebung:
conda activate open-webui
-
Installieren Sie Open WebUI:
pip install open-webui
-
Starten Sie den Server:
open-webui serve
Aktualisierung mit Python
Um Ihr lokal installiertes Open-WebUI-Paket mit pip
auf die neueste Version zu aktualisieren, folgen Sie diesen einfachen Schritten:
pip install -U open-webui
Das -U
(oder --upgrade
)-Flag stellt sicher, dass pip
das Paket auf die neueste verfügbare Version aktualisiert.
Das ist alles! Ihr Open-WebUI-Paket wurde nun aktualisiert und ist bereit zur Verwendung.
Verwendung von virtuellen Umgebungen
Erstellen Sie isolierte Python-Umgebungen mit venv
.
Schritte
-
Erstellen Sie eine virtuelle Umgebung:
python3 -m venv venv
-
Aktivieren Sie die virtuelle Umgebung:
-
Unter Linux/macOS:
source venv/bin/activate
-
Unter Windows:
venv\Scripts\activate
-
-
Installieren Sie Open WebUI:
pip install open-webui
-
Starten Sie den Server:
open-webui serve
Aktualisierung mit Python
Um Ihr lokal installiertes Open-WebUI-Paket mit pip
auf die neueste Version zu aktualisieren, folgen Sie diesen einfachen Schritten:
pip install -U open-webui
Das -U
(oder --upgrade
)-Flag stellt sicher, dass pip
das Paket auf die neueste verfügbare Version aktualisiert.
Das ist alles! Ihr Open-WebUI-Paket wurde nun aktualisiert und ist bereit zur Verwendung.
Entwicklungssetup
Für Entwickler, die beitragen möchten, lesen Sie den Entwicklungsleitfaden in Erweiterte Themen.
- Helm
- Kustomize
Helm-Setup für Kubernetes
Helm hilft Ihnen bei der Verwaltung von Kubernetes-Anwendungen.
Voraussetzungen
- Kubernetes-Cluster ist eingerichtet.
- Helm ist installiert.
Schritte
-
Open WebUI Helm-Repository hinzufügen:
helm repo add open-webui https://open-webui.github.io/helm-charts
helm repo update -
Open WebUI Chart installieren:
helm install openwebui open-webui/open-webui
-
Installation überprüfen:
kubectl get pods
Falls Sie beabsichtigen, Open WebUI mit mehreren Knoten/Pods/Workern in einer Cluster-Umgebung zu skalieren, müssen Sie eine NoSQL-Schlüssel-Wert-Datenbank einrichten. Es gibt einige Umgebungsvariablen, die für alle Service-Instanzen auf denselben Wert gesetzt werden müssen, sonst treten Konsistenzprobleme, fehlerhafte Sitzungen und andere Probleme auf!
Zugriff auf die WebUI
Richten Sie Portweiterleitung oder Lastverteilung ein, um von außerhalb des Clusters auf Open WebUI zuzugreifen.
Kustomize-Setup für Kubernetes
Kustomize ermöglicht es, Kubernetes-YAML-Konfigurationen anzupassen.
Voraussetzungen
- Kubernetes-Cluster ist eingerichtet.
- Kustomize ist installiert.
Schritte
-
Klone die Open WebUI-Manifeste:
git clone https://github.com/open-webui/k8s-manifests.git
cd k8s-manifests -
Wende die Manifeste an:
kubectl apply -k .
-
Installation überprüfen:
kubectl get pods
Falls Sie Open WebUI in einer Clusterumgebung mit mehreren Knoten/Pods/Workern skalieren möchten, müssen Sie eine NoSQL-Schlüssel-Wert-Datenbank einrichten. Es gibt einige Umgebungsvariablen, die für alle Dienst-Instanzen auf denselben Wert gesetzt werden müssen, ansonsten treten Konsistenzprobleme, fehlerhafte Sitzungen und andere Probleme auf!
Zugriff auf die WebUI
Richten Sie Portweiterleitung oder Lastverteilung ein, um von außerhalb des Clusters auf Open WebUI zuzugreifen.
- Pinokio.computer
Pinokio.computer Installation
Für die Installation über Pinokio.computer besuchen Sie bitte deren Website:
Die Unterstützung für diese Installationsmethode erfolgt über deren Website.
Zusätzliche Drittanbieter-Integrationen
(Fügen Sie Informationen zu Drittanbieter-Integrationen hinzu, sobald diese verfügbar sind.)
Nächste Schritte
Nach der Installation besuchen Sie:
- http://localhost:3000, um auf Open WebUI zuzugreifen.
- oder http://localhost:8080/, wenn Sie eine Python-Bereitstellung verwenden.
Sie können jetzt Open WebUI verwenden!
Verwendung von Open WebUI mit Ollama
Wenn Sie Open WebUI mit Ollama verwenden, lesen Sie unbedingt unseren Ollama-Startleitfaden, um zu erfahren, wie Sie Ihre Ollama-Instanzen mit Open WebUI verwalten.
Treten Sie der Community bei
Brauchen Sie Hilfe? Haben Sie Fragen? Treten Sie unserer Community bei: