Мой блог
Как обновить Open WebUI через Docker без потери данных
Интерфейс Open WebUI для локальных языковых моделей требует ручного обновления через терминал, что сопряжено с риском удаления пользовательских настроек и истории чатов. В материале приводится детальная инструкция о том, как корректно выполнить обновление программного обеспечения в среде Docker, предварительно создав надежную резервную копию всей рабочей информации.
Процесс апдейта состоит из последовательных шагов: проверки актуальной версии, экспорта существующих данных, загрузки свежего образа и восстановления информации в случае необходимости. Каждая операция выполняется с помощью стандартных команд в командной строке.
Проверка текущей версии Open WebUI
Перед началом процедуры обновления рекомендуется зайти в веб-интерфейс приложения под своей учетной записью. В нижней левой части экрана нужно кликнуть по иконке профиля и перейти в раздел настроек (Settings). На панели слева выбирается пункт «About», где отображается используемая на данный момент версия программы и наличие свежих релизов.
Создание резервной копии данных
Главным риском при обновлении является удаление накопленной информации, поэтому перед манипуляциями с контейнерами создается бэкап. Размер архивного файла зависит от объема сохраненных данных в системе. Первым делом необходимо остановить работающий контейнер Docker, для чего в Windows PowerShell вводится команда docker stop open-webui с последующим нажатием клавиши Enter.
Экспорт информации через Alpine
После остановки контейнера запускается команда для архивации данных тома в сжатый файл с помощью легковесного образа alpine. В окно PowerShell нужно скопировать и выполнить следующую строку: docker run --rm -v open-webui:/data -v ${PWD}:/backup alpine tar czf /backup/openwebui-backup.tar.gz /data.
Выполнение операции может занять некоторое время в зависимости от объема базы данных. После завершения процесса контейнер снова запускается командой docker start open-webui. Готовый архив сохраняется в домашней директории пользователя в папке профиля C:\Users\Username. Наличие файла можно проверить в проводнике или с помощью команды поиска в PowerShell.
Установка актуальной версии
Ранее для автоматического обновления часто использовался инструмент Watchtower, однако он прекратил поддержку и несовместим с современными версиями Docker. По этой причине обновление выполняется вручную. Сначала проверяется текущая конфигурация портов, после чего контейнер снова останавливается через PowerShell командой остановки.
Загрузка нового образа и создание контейнера
Для скачивания актуального релиза применяется команда загрузки образа docker pull ghcr.io/open-webui/open-webui:main. Скорость скачивания зависит от интернет-соединения. Затем устаревший контейнер удаляется командой docker rm open-webui.
На завершающем этапе развертывается свежий контейнер с сохранением привязки тома данных. Для этого используется команда запуска с указанием портов и параметров перезагрузки: docker run -d -p 3000:8080 -v open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main. Успешность обновления подтверждается появлением приветственного окна с информацией о новых функциях при входе в систему.
Восстановление резервной копии
Если после обновления возникли сбои или данные не отображаются автоматически, предусмотрена процедура восстановления из созданного архива. Файл бэкапа предварительно размещается в корневом каталоге профиля пользователя C:\Users\Username.
Порядок восстановления
Для восстановления информации контейнер останавливается, после чего выполняется процедура распаковки архива в рабочий том Docker. В терминале последовательно вводятся команды остановки, очистки старых данных с распаковкой резервной копии через alpine и последующего запуска контейнера: docker stop open-webui, затем команда распаковки архива и docker start open-webui.
