Перейти к основному содержимому

🔄 Обновление Open WebUI

Почему мой Open WebUI не обновляется?

Чтобы обновить вашу локальную установку Docker Open WebUI до последней доступной версии, вы можете использовать Watchtower или вручную обновить контейнер. Воспользуйтесь описанными ниже шагами для обновления вашего существующего изображения Open WebUI.

Ручное обновление

  1. Остановите и удалите текущий контейнер:

    Это остановит работающий контейнер и удалит его, но не удалит данные, сохраненные в томе Docker. (Замените open-webui на имя вашего контейнера в процессе обновления, если оно отличается.)

docker rm -f open-webui
  1. Скачайте последнее Docker изображение:

    Это обновит изображение Docker, но не обновит работающий контейнер или его данные.

docker pull ghcr.io/open-webui/open-webui:main
к сведению

Удалите существующие данные в томе Docker (НЕ РЕКОМЕНДУЕТСЯ, ЕСЛИ ЭТО НЕ АБСОЛЮТНО НЕОБХОДИМО!). Полностью пропустите этот шаг, если он не требуется, и перейдите к последнему шагу:

Если вы хотите начать с чистого листа, вы можете удалить существующие данные в томе Docker. Будьте осторожны, так как это удалит всю вашу историю общения и другие данные.

Данные хранятся в томе Docker под названием open-webui. Вы можете удалить их с помощью следующей команды:

docker volume rm open-webui
  1. Заново запустите контейнер с обновленным изображением и прикрепленным существующим томом:

    Если вы не удаляли существующие данные, это запустит контейнер с обновленным изображением и существующими данными. Если вы удалили существующие данные, это запустит контейнер с обновленным изображением и новым, пустым томом. Для поддержки Nvidia GPU добавьте --gpus all к команде docker run

docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui ghcr.io/open-webui/open-webui:main

Постоянно выходит из системы после каждого обновления?

Если после каждого обновления вас принудительно выходит из системы, убедитесь, что WEBUI_SECRET_KEY установлен в ваших переменных окружения. Без этого ключа ваши сессии аутентификации могут быть аннулированы после обновлений.

Чтобы установить WEBUI_SECRET_KEY постоянно, добавьте его при запуске вашего контейнера Docker:

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

Или, если вы используете docker-compose, добавьте его в раздел environment:

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

Для получения дополнительных сведений о настройках переменных окружения ознакомьтесь с документацией Open WebUI по переменным безопасности.

Автоматическое обновление Open WebUI с помощью Watchtower

Вы можете использовать Watchtower для автоматизации процесса обновления Open WebUI. Вот три варианта:

Вариант 1: Одноразовое обновление

Вы можете запустить Watchtower для одноразового обновления, чтобы остановить текущий контейнер, скачать последнее изображение и запустить новый контейнер с обновленным изображением и прикрепленным существующим томом (Для поддержки Nvidia GPU добавьте --gpus all к команде docker run):

docker run --rm --volume /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once open-webui

Вариант 2: Запуск Watchtower как отдельного контейнера

Вы можете запустить Watchtower в виде отдельного контейнера, который будет следить за вашим контейнером Open WebUI и обновлять его:

docker run -d --name watchtower \
--volume /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower -i 300 open-webui

Это запустит Watchtower в режиме отсоединения, который будет проверять обновления для вашего контейнера Open WebUI каждые 5 минут.

Вариант 3: Интеграция Watchtower с файлом docker-compose.yml

Вы также можете интегрировать Watchtower с вашим файлом docker-compose.yml для автоматического обновления Open WebUI (Для поддержки Nvidia GPU добавьте --gpus all к команде docker run):

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:

В этом примере Watchtower интегрируется с файлом docker-compose.yml и проверяет обновления для контейнера Open WebUI каждые 5 минут.

Постоянные данные в томах Docker

Данные хранятся в томе Docker под названием open-webui. Путь к тому напрямую недоступен, но вы можете изучить том с помощью следующей команды:

docker volume inspect open-webui

Это покажет вам детали тома, включая точку монтирования, которая обычно находится в /var/lib/docker/volumes/open-webui/_data.

На Windows 10 + WSL 2 тома Docker расположены здесь (введите в проводнике Windows):

  • \\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes

Для более старых версий Docker (до Docker v26.1.4):

  • \\wsl$\docker-desktop-data\data\docker\volumes
  • \\wsl$\docker-desktop-data\version-pack-data\community\docker\volumes

(Ответ для Windows взят у пользователя StackOverflow sarye-haddadi; ссылка на оригинальную публикацию на SO)