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

Сброс пароля администратора 🗝️

Если вы забыли пароль администратора, не переживайте! Ниже приведены пошаговые инструкции, как сбросить пароль администратора для развертываний 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 не установлен.

  1. Запустите Linux alpine, подключенный к тому же объему open-webui.

    docker run -it --rm -v open-webui:/path/to/data alpine

    /path/to/data зависит от ваших настроек объема.

    1. Установите apache2-utils и sqlite:

      apk add apache2-utils sqlite
    2. Генерация bcrypt-хэша:

      htpasswd -bnBC 10 "" your-new-password | tr -d ':'
    3. Обновление пароля:

      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 (особенно если вы используете виртуальное окружение), вы можете найти его, следуя этим шагам:

  1. Активируйте ваше виртуальное окружение (если применяется).

  2. Откройте оболочку Python: python

  3. Выполните следующий код внутри оболочки 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)
  1. Проверьте вывод:
    • Если файл найден, вы увидите его точный путь.
    • Если нет, возможно, вам придется выполнить более широкий поиск по файловой системе (например, используя 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 приведет к удалению всех сохраненных данных, включая учетные записи пользователей, настройки и пароли. Делайте это только, если действительно хотите начать с чистого листа!