🔄 Aktualisieren von Open WebUI
Warum wird mein Open WebUI nicht aktualisiert?
Um Ihre lokale Docker-Installation von Open WebUI auf die neueste verfügbare Version zu aktualisieren, können Sie entweder Watchtower verwenden oder den Container manuell aktualisieren. Folgen Sie einem der untenstehenden Schritte, um durch die Aktualisierung Ihres vorhandenen Open WebUI-Images geführt zu werden.
Manuelle Aktualisierung
-
Stoppen und entfernen Sie den aktuellen Container:
Dadurch wird der laufende Container gestoppt und entfernt, aber die im Docker-Volume gespeicherten Daten werden nicht gelöscht. (Ersetzen Sie
open-webuiwährend des gesamten Aktualisierungsvorgangs durch den Namen Ihres Containers, falls dieser für Sie anders lautet.)
docker rm -f open-webui
-
Holen Sie sich das neueste Docker-Image:
Dies aktualisiert das Docker-Image, aber nicht den laufenden Container oder seine Daten.
docker pull ghcr.io/open-webui/open-webui:main
Entfernen Sie vorhandene Daten im Docker-Volume (NICHT EMPFOHLEN, ES SEI DENN, ES IST UNBEDINGT NOTWENDIG!). Überspringen Sie diesen Schritt vollständig, wenn er nicht benötigt wird, und fahren Sie mit dem letzten Schritt fort.
Wenn Sie mit einem sauberen Blatt beginnen möchten, können Sie die vorhandenen Daten im Docker-Volume entfernen. Seien Sie vorsichtig, da dies alle Ihre Chatverläufe und andere Daten löschen wird.
Die Daten werden in einem Docker-Volume namens open-webui gespeichert. Sie können es mit dem folgenden Befehl entfernen
docker volume rm open-webui
-
Starten Sie den Container erneut mit dem aktualisierten Image und dem angehängten vorhandenen Volume:
Wenn Sie die vorhandenen Daten nicht entfernt haben, wird der Container mit dem aktualisierten Image und den vorhandenen Daten gestartet. Wenn Sie die vorhandenen Daten entfernt haben, wird der Container mit dem aktualisierten Image und einem neuen, leeren Volume gestartet. Für die Unterstützung von Nvidia-GPUs fügen Sie
--gpus allzum docker run-Befehl hinzu
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main
Werden Sie nach jedem Update immer wieder abgemeldet?
Wenn Sie nach jedem Update abgemeldet werden, stellen Sie sicher, dass WEBUI_SECRET_KEY in Ihren Umgebungsvariablen gesetzt ist. Ohne diese konsistent definierte Schlüssel können Ihre Authentifizierungssitzungen nach Updates ungültig werden.
Um WEBUI_SECRET_KEY persistent festzulegen, fügen Sie es hinzu, wenn Sie Ihren Docker-Container ausführen
docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui -e WEBUI_SECRET_KEY=your_secret_key ghcr.io/open-webui/open-webui:main
Oder, wenn Sie docker-compose verwenden, fügen Sie es unter dem Abschnitt environment hinzu
version: '3'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
environment:
- WEBUI_SECRET_KEY=your_secret_key
Weitere Details zu den Einstellungen für Umgebungsvariablen finden Sie in der Open WebUI-Dokumentation zu Sicherheitvariablen.
Open WebUI automatisch mit Watchtower aktualisieren
Sie können Watchtower verwenden, um den Aktualisierungsprozess für Open WebUI zu automatisieren. Hier sind drei Optionen
Option 1: Einmalige Aktualisierung
Sie können Watchtower als einmalige Aktualisierung ausführen, um den aktuellen Container zu stoppen, das neueste Image zu ziehen und einen neuen Container mit dem aktualisierten Image und dem angehängten vorhandenen Volume zu starten (Für die Unterstützung von Nvidia-GPUs fügen Sie --gpus all zum docker run-Befehl hinzu)
docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui
Option 2: Watchtower als separaten Container ausführen
Sie können Watchtower als separaten Container ausführen, der Ihren Open WebUI-Container überwacht und aktualisiert
docker run -d --name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -i 300 open-webui
Dies startet Watchtower im Detached-Modus und überwacht Ihren Open WebUI-Container alle 5 Minuten auf Updates.
Option 3: Watchtower in eine docker-compose.yml-Datei integrieren
Sie können Watchtower auch in Ihre docker-compose.yml-Datei integrieren, um Updates für Open WebUI zu automatisieren (Für die Unterstützung von Nvidia-GPUs fügen Sie --gpus all zum docker run-Befehl hinzu)
version: '3'
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
watchtower:
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
command: --interval 300 open-webui
depends_on:
- open-webui
volumes:
open-webui:
In diesem Beispiel ist Watchtower in die docker-compose.yml-Datei integriert und überwacht den Open WebUI-Container alle 5 Minuten auf Updates.
Persistente Daten in Docker-Volumes
Die Daten werden in einem Docker-Volume namens open-webui gespeichert. Der Pfad zum Volume ist nicht direkt zugänglich, aber Sie können das Volume mit dem folgenden Befehl inspizieren
docker volume inspect open-webui
Dies zeigt Ihnen die Details des Volumes an, einschließlich des Mount-Points, der sich normalerweise unter /var/lib/docker/volumes/open-webui/_data befindet.
Unter Windows 10 + WSL 2 befinden sich Docker-Volumes hier (in den Windows-Datei-Explorer eingeben)
- \\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes
Für ältere Versionen von Docker (vor Docker v26.1.4)
- \\wsl$\docker-desktop-data\data\docker\volumes
- \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes
(Antwort für Windows von StackOverflow-Benutzer sarye-haddadi; Link zum ursprünglichen SO-Post)