Zum Hauptinhalt springen

🔄 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

  1. 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-webui während des gesamten Aktualisierungsvorgangs durch den Namen Ihres Containers, falls dieser für Sie anders lautet.)

docker rm -f open-webui
  1. 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
Info

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
  1. 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 all zum 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)