第零步 安装docker,docker-compose。(已有面板的跳过这步)
安装docker
sudo yum check-update
curl -sSL https://get.daocloud.io/docker | sh
sudo systemctl start docker
sudo systemctl status docker
sudo systemctl enable docker
第一步 删除容器(删除容器对已有的面板不会有任何改变,放心搞)
docker stop $(docker ps -a -q) // stop停止所有容器
docker rm $(docker ps -a -q) // remove删除所有容器
第二步
安装docker-compose
sudo curl -L “<https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$>(uname -s)-$(uname -m)” -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
在root文件夹下创建一个目录,目录内创建docker-compose.yml
已安装的朋友进入QL文件夹内创建docker-compose.yml
填入以下内容
version: “3”
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
restart: unless-stopped
tty: true
ports:
- 5700:5700
- 5701:5701
environment:
- ENABLE_HANGUP=true
- ENABLE_WEB_PANEL=true
volumes:
- ./config:/ql/config
- ./log:/ql/log
- ./db:/ql/db
- ./repo:/ql/repo
- ./raw:/ql/raw
- ./scripts:/ql/scripts
- ./jbot:/ql/jbot
- ./ninja:/ql/ninja
labels:
- com.centurylinklabs.watchtower.enable=false
保存退出。
命令行里cd进docker-compose.yml所在的文件夹,执行命令
docker-compose up -d
然后登录ip:5700
进入容器
ql为容器名 本文机器容器名为qinglong
docker exec -it qinglong bash
执行以下命令
git clone https://github.com/shufflewzc/ninja.git /ql/ninja
cd /ql/ninja/backend
pnpm install
pm2 start
第三步
打开青龙configs文件夹的extra.sh文件
将以下内容粘贴进去。
cd /ql/ninja/backend
pm2 start
注意事项
重启后务必执行一次 ql extra 保证 Ninja 配置成功。
更新 Ninja 只需要在容器中 ninja/backend 目录执行 git pull 然后 pm2 start
Qinglong 需要在登录状态(auth.json 中有 token)
Ninja 环境变量设置
Ninja目前支持的环境变量有:
ALLOW_ADD: 是否允许添加账号 不允许添加时则只允许已有账号登录(默认 true)
ALLOW_NUM: 允许添加账号的最大数量(默认 40)
NINJA_PORT: Ninja 运行端口(默认 5701)
NINJA_NOTIFY: 是否开启通知功能(默认 true)
NINJA_UA: 自定义 UA,默认为随机
那么老样子打开Finalshell 按顺序复制粘贴代码
docker exec -it qinglong bash
cd /ql/ninja/backend
cp .env.example .env
然后在文件管理器找到.env文件
按需修改内容保存。
修改完文件记得
pm2 start
Ninja更新方法
那么老样子打开Finalshell 按顺序复制粘贴代码
docker exec -it qinglong bash
cd /ql/ninja/backend
git pull
pm2 start
常见问题
Q:为什么我 git pull 失败?A:一般是修改过文件,先运行一次 git checkout . 再 git pull。还是不行就删了重拉。
Q:为什么访问不了?A:一般为端口映射错误/失败,请自行检查配置文件。
Q:为什么访问白屏?A:使用现代的浏览器,而不是古代的。
关于Ninja弹窗通知
Andy Woo提供了弹窗的设置教程 7月31日已失效
在容器内执行
去除 Ninja 弹窗
sed -i “s/\(.\){.\+提醒.\+\”},\(.\)/\1\2/” /ql/ninja/backend/static/assets/index.5f39b46a.js
还原 Ninja 弹窗
sed -i “s/l,{footer/l,{title:\”Ninja 提醒您\”,modelValue:e.dialogVisible,\”onUpdate:modelValue\”:a[3]||(a[3]=a=>e.dialogVisible=a),center:\”\”,\”destroy-on-close\”:\”\”,\”custom-class\”:\”notice-dialog\”,top:\”25vh\”},{footer/” /ql/ninja/backend/static/assets/index.5f39b46a.js
暂无评论内容