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;
添加评论