重置您的管理员密码 🗝️
如果您忘记了管理员密码,别担心!下面您将找到针对 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
替换为步骤 1 中生成的 bcrypt 哈希,确保三重转义任何 $
字符。同时,将 admin@example.com
替换为与您的管理员账户关联的电子邮件地址。
重要: 以下命令可能并非在所有情况下都有效。如果对您不起作用,请尝试下面的替代命令。
docker run --rm -v open-webui:/data alpine/socat EXEC:"bash -c 'apk add sqlite && echo UPDATE auth SET password='\''HASH'\'' WHERE email='\''admin@example.com'\''; | 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
替换为步骤 1 中的 bcrypt 哈希,将 admin@example.com
替换为您的管理员账户电子邮件来更新您的密码,然后执行:
sqlite3 backend/data/webui.db "UPDATE auth SET password='HASH' WHERE email='admin@example.com';"
替代 Docker 方法
如果您在上述方法中遇到问题。 我在 alpine/socat
中链接 bash
命令时遇到了问题,因为 bash
不存在。
-
运行连接到 open-webui 卷的
alpine
linux。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='admin@example.com';
-- 退出 sqlite: [Ctrl + d]
-
清除所有数据
如果您想要完全重置 Open WebUI——包括所有用户数据、设置和密码——请按照以下步骤删除 webui.db
文件。