npm.yml
没有特别说明的情况下 NPM 使用 sqlite 数据库,当然可以配置使用 MySQL 数据库
version: '3.8'
services:
nginx:
image: 'jc21/nginx-proxy-manager:2.11.1'
container_name: nginx
restart: unless-stopped
ports:
- '80:80' # Public HTTP Port
- '443:443' # Public HTTPS Port
- '82:81' # Admin Web Port
# - '21:21' # FTP
volumes:
- /data/nginx-proxy/data:/data
- /etc/localtime:/etc/localtime:ro
- /data/nginx-proxy/ssl:/etc/letsencrypt
常用维护指令
默认的用户名和密码
- Email: admin@example.com
- Password: changeme
SQLite 版重置密码
docker exec -it <container-name> sh
apt update && apt install sqlite3 -y
sqlite3 /data/database.sqlite
#连接到本地数据库
UPDATE user SET is_deleted=1;
.exit
exit
#以默认用户登录
docker exec -it <container-name> sh
sqlite3 /data/database.sqlite
UPDATE user SET is_deleted=0;
.exit
exit
#也可以按以下方式修改密码
$ python -c 'import bcrypt; print(bcrypt.hashpw("password".encode("utf-8"), bcrypt.gensalt()).decode("utf-8"))'
$2b$12$tMOjHhjExkb8d/EMrHOOy.WA0WAznst6WZyt7a1828FUOvEb9NhtW
SELECT id, email FROM user; #先查询记录
UPDATE auth SET secret = '<hash>' WHERE user_id = <admin-user-id>;
MySQL 版重置密码
docker exec -it <container-name> sh mysql -u root -p USE npm; UPDATE user SET is_deleted=1; quit exit #连接到数据库,完成操作后以默认用户登录 docker exec -it <container-name> sh mysql -u root -p USE npm; UPDATE user SET is_deleted=0; quit exit
多用户策略调整
如果配置了多个用户,并且后续的配置内容都是新用户操作的。当恢复默认用户后会存在配置内容显示不完整的情况。这需要调整对应的配置记录。
UPDATE dead_host SET owner_user_id=2; UPDATE proxy_host SET owner_user_id=2; UPDATE redirection_host SET owner_user_id=2; UPDATE stream SET owner_user_id=2; UPDATE certificate SET owner_user_id=2; UPDATE access_list SET owner_user_id=2;
添加评论