其实这个问题在官方的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
评论区