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

常用维护指令

默认的用户名和密码

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;


  • 无标签
写评论...