Сброс пароля администратора 🗝️
Если вы забыли пароль администратора, не переживайте! Ниже приведены пошаговые инструкции, как сбросить пароль администратора для развертываний Docker 🐳 и локальных установок Open WebUI.
Для развертываний Docker 🐳
Следуйте этим шагам, чтобы сбросить пароль администратора при использовании Docker для развертывания Open WebUI.
Шаг 1: Создание нового хэша пароля 🔐
Сначала необходимо создать bcrypt-хэш нового пароля. Выполните следующую команду на локальном компьютере, заменив your-new-password
на ваш новый пароль:
htpasswd -bnBC 10 "" your-new-password | tr -d ':\n'
Примечание: Вывод будет содержать bcrypt-хэш со специальными символами, которые необходимо обработать аккуратно. Все символы $
в хэше должны быть тройным экранированием (заменены на \\\
), чтобы использовать их корректно на следующем шаге.
Шаг 2: Обновление пароля в Docker 🔄
Далее вам нужно обновить пароль в вашем развертывании Docker. Замените HASH
в командной строке ниже на bcrypt-хэш, созданный на шаге 1, убедившись, что символы $
тройным экранированием. Также замените [email protected]
на адрес электронной почты, связанный с вашей учетной записью администратора.
Важно: Следующая команда может не работать во всех случаях. Если она не работает для вас, попробуйте альтернативную команду ниже.
docker run --rm -v open-webui:/data alpine/socat EXEC:"bash -c 'apk add sqlite && echo UPDATE auth SET password='\''HASH'\'' WHERE email='\''[email protected]'\''; | sqlite3 /data/webui.db'", STDIO
Для локальных установок 💻
Если у вас установлена локальная версия Open WebUI, следуйте этим шагам, чтобы сбросить пароль администратора напрямую на вашем устройстве.
Шаг 1: Создание нового хэша пароля 🔐
Как и в случае с методом Docker, начните с создания bcrypt-хэша нового пароля, используя следующую команду. Не забудьте заменить your-new-password
на ваш новый пароль:
htpasswd -bnBC 10 "" your-new-password | tr -d ':\n'
Шаг 2: Локальное обновление пароля 🔄
Теперь перейдите в каталог open-webui
на вашем локальном устройстве. Обновите пароль, заменив HASH
на bcrypt-хэш с шага 1, а [email protected]
— на адрес электронной почты вашей учетной записи администратора, и выполните:
sqlite3 backend/data/webui.db "UPDATE auth SET password='HASH' WHERE email='[email protected]';"
Альтернативный метод Docker
Если у вас возникают проблемы с вышеописанными инструкциями. У меня возникли проблемы с объединением команд bash
в alpine/socat
, поскольку bash
не установлен.
-
Запустите Linux
alpine
, подключенный к тому же объему open-webui.docker run -it --rm -v open-webui:/path/to/data alpine
/path/to/data
зависит от ваших настроек объема.-
Установите
apache2-utils
иsqlite
:apk add apache2-utils sqlite
-
Генерация bcrypt-хэша:
htpasswd -bnBC 10 "" your-new-password | tr -d ':'
-
Обновление пароля:
sqlite3 /path/to/data/webui.db
UPDATE auth SET password='HASH' WHERE email='[email protected]';
-- выход из sqlite: [Ctrl + d]
-
Полное удаление всех данных
Если вы хотите полностью сбросить Open WebUI, включая все пользовательские данные, настройки и пароли, выполните следующие действия для удаления файла webui.db
.
Шаг 1: Найдите webui.db
в вашем окружении Python
Если вы не знаете, где находится webui.db
(особенно если вы используете виртуальное окружение), вы можете найти его, следуя этим шагам:
-
Активируйте ваше виртуальное окружение (если применяется).
-
Откройте оболочку Python: python
-
Выполните следующий код внутри оболочки Python:
import os
import open_webui
# Показывает, где установлен пакет Open WebUI
print("Open WebUI установлен в:", open_webui.__file__)
# Построение потенциального пути к webui.db (обычно хранится в 'data/webui.db')
db_path = os.path.join(os.path.dirname(open_webui.__file__), "data", "webui.db")
print("Потенциальный путь к webui.db:", db_path)
# Проверка наличия webui.db по указанному пути
if os.path.exists(db_path):
print("webui.db найден по адресу:", db_path)
else:
print("webui.db не найден по адресу:", db_path)
- Проверьте вывод:
- Если файл найден, вы увидите его точный путь.
- Если нет, возможно, вам придется выполнить более широкий поиск по файловой системе (например, используя
find
в Linux или глобальный поиск файлов в Windows/Mac).
Шаг 2: Удаление webui.db
Как только вы найдете файл, удалите его, используя команду, аналогичную:
rm -rf /path/to/your/python/environment/lib/pythonX.X/site-packages/open_webui/data/webui.db
Предупреждение: Удаление webui.db
приведет к удалению всех сохраненных данных, включая учетные записи пользователей, настройки и пароли. Делайте это только, если действительно хотите начать с чистого листа!