其实这个问题在官方的issues上有人提过,并也有详细的回答,这边只是做一个简单的中文记录。
步骤1
在运行包含数据库的docker容器的机器上运行这些命令。
docker exec -it nginxproxymanager_db_1 sh # nginxproxymanager_db_1这边改成你自己的容器名,可以通过docker ps 查看到
mysql -u root -p
然后你需要输入当时给数据库设置的root密码。
可以进入到NPM的docker-compose
所在的文件夹,通过下面命令查看:
cat docker-compose.yml
输入完密码之后,继续输入以下命令:
USE npm;
UPDATE user SET is_deleted=1;
quit
exit
步骤2
如果你的NPM容器一直在运行,现在可以重新启动它。如果它还没有运行,现在就启动它。
步骤3
在浏览器中访问你的NPM,用下面的账号密码登录:
登录: admin@example.com
密码: changeme
步骤4
不出意外的话,你现在已经创建了一个可以登录的管理员用户。
你可以选择以后只使用这个用户作为管理员,或者如果你之前的账户设置过网站的代理,你想要重新恢复之前那些设置的网站,(即启用旧账户),那么可以执行以下命令:
docker exec -it nginxproxymanager_db_1 sh # 同上,nginxproxymanager_db_1这边改成你自己的容器名
mysql -u root -p
再次输入root密码,如步骤1:
USE npm;
UPDATE user SET is_deleted=0;
quit
exit
不出意外,现在你就已经恢复了之前创建的代理网站了。
参考资料:
https://github.com/NginxProxyManager/nginx-proxy-manager/issues/230
---------------
如何觉得文章内容不错,欢迎点击一下广告,支持一下咕咕😍😍😍
原创文章,作者:Roy,如若转载,请注明出处:https://iwanlab.com/nginx-proxy-manager-issues/
评论列表(2条)
昨天刚好遇到了忘记密码的问题
其实也不是忘记密码,是原账号密码登录不上去了,不知道什么问题
不过咕咕你现在安装npm的教程已经没用mysql数据库了,所以按你教程装的npm现在是没法适用这个恢复密码的教程的
老版本的mysql还是适用这个教程,有空希望咕咕更新一下哦
上npm文档查阅了一下现在的都是用sqlite,命令需要更改一下
## 删除账户,使用默认账户登录
docker ps
docker exec -it sh #替换为npm容器名称
apt update && apt install sqlite3 -y
sqlite3 /data/database.sqlite
UPDATE user SET is_deleted=1;
.exit
exit
## 恢复之前的账户
docker exec -it sh #替换为npm容器名称
apt update && apt install sqlite3 -y
sqlite3 /data/database.sqlite
UPDATE user SET is_deleted=0;
.exit
exit
@konollo:感谢分享~