废话不多说用到docker不会的看第一个青龙面板教程(有安装教程)
直接拉
方法1容器内
容器映射 5701 端口,ninja 目录至宿主机(次方法不能跟原来的容器重名)
docker run -dit \-v $PWD/ql/config:/ql/config \-v $PWD/ql/log:/ql/log \-v $PWD/ql/db:/ql/db \-v $PWD/ql/repo:/ql/repo \-v $PWD/ql/raw:/ql/raw \-v $PWD/ql/scripts:/ql/scripts \-v $PWD/ql/jbot:/ql/jbot \-v $PWD/ql/ninja:/ql/ninja \-p 5700:5700 \-p 5701:5701 \--name qinglong \ ##(安装不上容器名称一样换个一就好了)(比如qinglong-l)--hostname qinglong \--restart unless-stopped \whyour/qinglong:latest
(安装过的也可以用上面命令)怕数据丢失直接备份
进容器内执行以下命令
docker exec -it (你的容器名称) shdocker stop qinglong ##(停用原来的容器)docker restart qinglong-l ##(启用最新的容器)
直接用你刚才用的用户名比如(qinglong-l)
git clone https://github.com/MoonBegonia/ninja.git ql/ninjacd ql/ninja/backendpnpm installpm2 startcp sendNotify.js ql/scripts/sendNotify.js
将以下内容粘贴到 extra.sh
(重启后自动更新并启动 Ninja)
cd ql/ninja/backendgit checkout .git pullpnpm installpm2 startcp sendNotify.js ql/scripts/sendNotify.js
或直接公众号回复:123 获取(extra.sh)直接复制到config
在青龙面板添加任务 task ql/config/extra.sh

弄完之后直接访问5701

有什么不会的可以找我搭建,公众号回复
有偿搭建
方法2容器外
此种方式需要宿主机安装node
pnpm
等环境,不做过多介绍。
使用此种方法无法跟随青龙一起启动,无法发送扫码通知,请知悉。
git clone git clone https://github.com/MoonBegonia/ninja.gitcd ninja/backendpnpm install# 复制 sendNotify.js 到容器内 scripts 目录,`qinglong` 为容器名sudo docker cp sendNotify.js qinglong:/ql/scripts/sendNotify.jscp .env.example .env# 修改env文件vi .envnode app.js
在 .env
文件中添加以下内容:
QL_DIR=qinglong 容器的本地路径QL_URL=http://localhost:5700
node app.js
想要在后台运行可以使用 &
nohup
screen
等命令。
Ninja 环境变量
目前支持的环境变量有:
ALLOW_ADD
: 是否允许添加账号 不允许添加时则只允许已有账号登录(默认true
)ALLOW_NUM
: 允许添加账号的最大数量(默认40
)NINJA_PORT
: Ninja 运行端口(默认5701
)NINJA_NOTIFY
: 是否开启通知功能(默认true
)NINJA_UA
: 自定义 UA,默认为随机
配置方式:
cd /ql/ninja/backendcp .env.example .envvi .envpm2 start
修改完成后需要 pm2 start
重启生效 !!!、
SendNotify 环境变量
此环境变量在青龙中配置!!!
NOTIFY_SKIP_LIST
: 通知黑名单,使用&
分隔,例如东东乐园&东东萌宠
;
Ninja 自定义
自定义推送二维码:将 push.jpg
文件添加到 /ql/ninja/backend/static/
目录下刷新网页即可。
自定义常见活动:修改 /ql/backend/static/activity.json
即可
注意事项
重启后务必执行一次
ql extra
保证 Ninja 配置成功。更新 Ninja 只需要在容器中
ninja/backend
目录执行git pull
然后pm2 startQinglong 需要在登录状态(
auth.json
中有 token)




