前段时间搭建的 uptime-kuma 、npm 反向代理的密码都忘记了,记录一下找回的过程,如果你也遇到此问题,请看具体的找回步骤。
uptime-kuma 密码找回
uptime-kuma 密码找回的方式比较简单,我们只需要进入该容器内部,输入重置密码的指令即可。
1.首先命令行输入 docker ps 命令找到容器 ID
2.在命令行依次输入一下命令,请将 <containerid-of-kuma> 替换为容器 ID,之后会要求输入更改的密码,输入新密码、确认新密码再次输入即可。
sudo docker exec -it <containerid-of-kuma> bash
npm run reset-password
3.显示修改成功
NginxProxyManager (NPM)密码找回
NPM 密码找回的方式相对 uptime-kuma 繁琐,不过也不是太难,按照以下步骤,依旧可以找回,并且之前已经设置好的代理依旧可用。
如果您忘记了密码并需要重置密码,请按此处操作。这取决于你使用的数据库。如果你有两个 docker 容器,其中之一是数据库,那么你正在使用 MySQL,如果你只有一个 npm docker 容器,那么你可能使用 SQLite 数据库。自 2021 年 11 月起,示例 docker-compose 文件使用 SQLite,之前使用的是 MySQL。
那我这是用的是官方的 docker-compose 创建的 npm,所以使用的是 sqlite 数据库,接下来以此数据库为例找回密码。
具体找回步骤
1.输入 docker ps 获取容器ID,下图可看到容器 ID 为:edb7476c7a03
2.首先 docker exec -it edb7476c7a03 sh 进入容器内部,记得将容器ID改为自己的容器ID
3. 进入容器内部后,输入链接数据库的命令:
apt update && apt install sqlite3 -y
sqlite3 /data/database.sqlite
4.现在已进入 SQL 模式,在该模式中,将所有用户的状态设置为已删除:
UPDATE user SET is_deleted=1;
.exit
exit
5.如果 NPM 容器一直在运行,重新启动它。如果它尚未运行,请立即启动它。
6.现在已经创建了一个管理员用户,您可以通过在浏览器中访问 NPM 并使用默认登录信息登录来登录:
- login:admin@example.com
- pass:
changeme
登录后发现什么信息都没有,和刚刚搭建成功的初始状态一样。
7.你现在可以只使用此用户,也可以重新启用旧帐户并使用新帐户更改旧帐户的密码。要重新启用它,请再次执行以下命令:
docker exec -it edb7476c7a03 sh
sqlite3 /data/database.sqlite
8.再次更换,如步骤 4 所示。然后通过运行以下命令将所有用户设置为不删除:
UPDATE user SET is_deleted=0;
.exit
exit
9.重新启动容器:docker restart edb7476c7a03 ,你会发现原来的账号也回来了,现在只需要修改原来的账号密码即可。
10.接下来修改原来的账号密码,同时将 Administrator 账号删除即可。
这里查看 npm 的部署方法:Debian 12 / Ubuntu 22.04 安装 NPM(nginxproxymanager)反向代理神器教程 – 兔哥博客 (uuzi.net)
这里查看 uptime kuma 的部署方法:Docker 项目分享-dockge- 管理docker项目从未如此简单 – 兔哥博客 (uuzi.net)