以下是一份完整的 Dify 修改登录密码流程指南 ,涵盖两种场景:记得旧密码(自助修改) 和 忘记密码(强制重置)。
Dify 修改登录密码完整指南
适用环境:Dify 本地部署(Docker 方式)
一、前提条件
在开始之前,请确认:
- Dify 服务正常运行(所有容器已启动)
- 你有服务器的 Shell 访问权限(如 SSH 或本地终端)
- 已安装 Docker 和 Docker Compose
二、方法一:记得旧密码(自助修改)
如果你记得当前密码,直接在 Web 界面中修改即可:
- 登录 Dify Web 界面(
http://localhost或你的服务器 IP)。 - 点击右上角头像 → 「个人资料」 或 「账户设置」。
- 找到 「修改密码」 或 「密码」 选项。
- 依次输入 当前密码 、新密码 、确认新密码。
- 点击 「保存」。
✅ 完成。
三、方法二:忘记密码(强制重置)
如果你忘记了密码,需要通过命令行进入后端容器重置。
第一步:查看运行中的容器
在宿主机终端执行:
bash
docker ps
确认以下关键容器正在运行:
| 容器名 | 作用 |
|---|---|
docker-api-1 |
后端 API 服务(重置密码需进入此容器) |
docker-web-1 |
Web 前端服务 |
docker-db_postgres-1 |
数据库 |
💡 重要 :重置密码的操作必须在
docker-api-1容器中执行,而不是docker-web-1。
第二步:进入后端 API 容器
bash
docker exec -it docker-api-1 /bin/bash
如果容器没有
/bin/bash,可以尝试/bin/sh,但 Dify API 容器通常包含bash。
第三步:执行密码重置命令
进入容器后,确认当前目录在 /app/api(默认就是),执行:
bash
flask reset-password
系统会交互式提示输入邮箱和新密码:
Enter email: admin@your-domain.com
Enter new password: ********
Repeat for confirmation: ********
Password reset successfully.
🔧 备选命令
如果 flask 命令找不到(环境变量问题),可以尝试:
bash
# 方式一:使用 poetry
poetry run flask reset-password
# 方式二:激活虚拟环境后执行
source /app/api/.venv/bin/activate
flask reset-password
📧 指定邮箱(免交互)
如果你想直接在命令中指定邮箱:
bash
flask reset-password --email admin@your-domain.com
然后按提示输入新密码两次即可。
第四步:退出容器并验证
- 重置成功后,输入
exit退出容器。 - 打开浏览器访问 Dify 登录页(
http://localhost)。 - 使用你刚刚设置的新密码登录。
✅ 完成。
四、常见问题排查
1. 不知道自己的邮箱是什么?
如果你忘记了之前注册时用的邮箱,可以进入数据库查看:
bash
docker exec -it docker-db_postgres-1 psql -U postgres -d dify -c "SELECT email FROM users;"
这会列出所有已注册用户的邮箱。然后用查到的邮箱去重置密码。
2. 进入容器后提示 flask: command not found
这是环境变量未正确加载导致的,按以下步骤解决:
bash
# 先进入容器
docker exec -it docker-api-1 /bin/bash
# 切换到应用目录
cd /app/api
# 激活虚拟环境
source .venv/bin/activate
# 再执行重置命令
flask reset-password
3. 容器内没有 /bin/bash
部分容器镜像只包含 sh。可以改用:
bash
docker exec -it docker-api-1 /bin/sh
然后进入后执行 python -m flask reset-password(需要 Python 环境)。
4. 无法进入容器(权限不足)
可以尝试以 root 身份进入:
bash
docker exec -it -u root docker-api-1 /bin/bash
五、方法三:通过数据库直接修改(不推荐)
⚠️ 此方式风险较高,仅在前两种方法均失败时作为最后手段。
Dify 的密码是加密存储的,直接修改数据库需要生成加密哈希。不推荐普通用户操作,如果确实需要,建议优先使用方法二。
六、安全建议
- 首次登录后立即修改默认密码:如果是刚部署完,尽快在系统设置中修改管理员密码。
- 使用强密码:建议包含大小写字母、数字和特殊字符,长度不少于 8 位。
- 定期更换密码:建议每 3-6 个月更换一次。
- 备份账号信息:将管理员邮箱和密码妥善保存在密码管理工具中。
七、总结
| 场景 | 操作路径 |
|---|---|
| 记得旧密码 | Web 界面 → 个人资料 → 修改密码 |
| 忘记密码 | docker exec -it docker-api-1 /bin/bash → flask reset-password |
| 不知邮箱 | 进入 PostgreSQL 查询 users 表获取邮箱 |
快速命令汇总
bash
# 1. 查看容器状态
docker ps
# 2. 进入后端 API 容器
docker exec -it docker-api-1 /bin/bash
# 3. 重置密码(在容器内)
flask reset-password
# 4. 查看所有用户邮箱(备选,需进入数据库容器)
docker exec -it docker-db_postgres-1 psql -U postgres -d dify -c "SELECT email FROM users;"
这样不管是你自己还是团队成员,都能根据这份指南快速找回或修改 Dify 的登录密码。如果有任何操作遇到问题,欢迎随时截图来问。😊