IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    基于 Docker 从零开始搭建青龙面板教程(一)

    Nicolas-kings发表于 2022-08-27 03:53:02
    love 0

    安装教程

    如果你还是看的老文章,安装的新青龙,可能你就没有scripts文件夹,因为映射目录改变了。

    大家可能要删除之前的容器,重新建容器,删除之前要保存之前的配置,如env.db文件(ck所在地),新版青龙安装指令,端口可以改。

    老版本 - 部署容器

    老版本安装命令 - 适用版本V2.10.*及以下

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    docker run -dit \
    --privileged=true \
    -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 \
    --hostname qinglong \
    --restart unless-stopped \
    whyour/qinglong:latest

    这里的容器名是qinglong,文件夹名是ql,端口5700 都是可以更改的

    新版本 - 部署容器

    新版本安装命令 - 适用版本V2.11.*

    1
    2
    3
    4
    5
    6
    7
    8
    9
    docker run -dit \
    --privileged=true \
    -v $PWD/ql/data:/ql/data\
    -p 5700:5700 \
    -p 5701:5701 \
    --name qinglong \
    --hostname qinglong \
    --restart unless-stopped \
    whyour/qinglong:latest

    放行端口

    宝塔端口放行如下 宝塔-->>安全里面设置

    云服务器放行如下 百度即可,不做过多的赘述

    输出日志

    docker logs -f qinglong

    可直观的看到面板部署状况

    登录青龙面板

    http://IP地址:5700

    老版本

    如果一上来就是输入密码的话,我们在宝塔->文件->root->ql->config找到auth.josn里查看或者修改

    新版本

    如果一上来就是输入密码的话,我们在宝塔->文件->root->ql->data->config找到auth.josn里查看或者修改

    搭建Ninja面板

    部署Ninja

    1
    2
    3
    4
    5
    6
    7
    8
    9
    # 国外鸡用    
    git clone https://github.com/KingRan/kingrom_ninja.git /ql/ninja
    # 国内鸡用
    git clone -b main https://ghproxy.com/https://github.com/KingRan/kingrom_ninja.git /ql/ninja
    cd /ql/ninja/backend
    pnpm install
    cp .env.example .env # 如有需要, 修改.env
    pm2 start
    cp sendNotify.js /ql/scripts/sendNotify.js

    配置Ninja

    将以下内容粘贴到 extra.sh(重启后自动更新并启动 Ninja

    1
    2
    3
    4
    5
    6
    cd /ql/ninja/backend
    git checkout .
    git pull
    pnpm install
    pm2 start
    cp sendNotify.js /ql/scripts/sendNotify.js

    登录Ninja面板

    http://IP地址:5701

    依赖

    NodeJs

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    crypto-js
    prettytable
    dotenv
    jsdom
    date-fns
    tough-cookie
    tslib
    ws@7.4.3
    ts-md5
    jsdom -g
    jieba
    fs
    form-data
    json5
    global-agent
    png-js
    @types/node
    require
    typescript
    js-base64
    axios

    Python3

    1
    2
    3
    4
    requests
    canvas
    ping3
    jieba

    Linux

    1
    2
    3
    bizCode
    bizMsg
    lxml

    知识拓扑

    定时规则

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    */5 * * * * ?    #每隔 5 秒执行一次
    0 */1 * * * ? #每隔 1 分钟执行一次
    0 0 2 1 * ? * #每月 1 日的凌晨 2 点执行一次
    0 15 10 ? * #MON-FRI 周一到周五每天上午 10:15 执行
    0 15 10 ? 6L #2002-2006 2002 年至 2006 年的每个月的最后一个星期五上午 10:15 执行
    0 0 23 * * ? #每天 23 点执行一次
    0 0 1 * * ? #每天凌晨 1 点执行一次
    0 0 1 1 * ? #每月 1 日凌晨 1 点执行一次
    0 0 23 L * ? #每月最后一天 23 点执行一次
    0 0 1 ? * L #每周星期天凌晨 1 点执行一次
    0 26,29,33 * * * ? #在 26 分、29 分、33 分执行一次
    0 0 0,13,18,21 * * ? #每天的 0 点、13 点、18 点、21 点都执行一次
    0 0 10,14,16 * * ? #每天上午 10 点,下午 2 点,4 点执行一次
    0 0/30 9-17 * * ? #朝九晚五工作时间内每半小时执行一次
    0 0 12 ? * WED #每个星期三中午 12 点执行一次
    0 0 12 * * ? #每天中午 12 点触发
    0 15 10 ? * * #每天上午 10:15 触发
    0 15 10 * * ? #每天上午 10:15 触发
    0 15 10 * * ? * #每天上午 10:15 触发
    0 15 10 * * ? #2005 2005 年的每天上午 10:15 触发
    0 * 14 * * ? #每天下午 2 点到 2:59 期间的每 1 分钟触发
    0 0/5 14 * * ? #每天下午 2 点到 2:55 期间的每 5 分钟触发
    0 0/5 14,18 * * ? #每天下午 2 点到 2:55 期间和下午 6 点到 6:55 期间的每 5 分钟触发
    0 0-5 14 * * ? #每天下午 2 点到 2:05 期间的每 1 分钟触发
    0 10,44 14 ? 3 WED #每年三月的星期三的下午 2:10 和 2:44 触发
    0 15 10 ? * MON-FRI #周一至周五的上午 10:15 触发
    0 15 10 15 * ? #每月 15 日上午 10:15 触发
    0 15 10 L * ? #每月最后一日的上午 10:15 触发
    0 15 10 ? * 6L #每月的最后一个星期五上午 10:15 触发
    0 15 10 ? * 6L #2002-2005 2002 年至 2005 年的每月的最后一个星期五上午 10:15 触发
    0 15 10 ? * 6#3 #每月的第三个星期五上午 10:15 触发

    青龙常用命令

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    1.查看容器名
    docker ps -a
    2.重启青龙容器
    docker restart 你的容器名
    3.更新青龙(或者直接面板更新)
    docker exec -it qinglong ql update
    4.更新青龙并编译
    docker exec -it qinglong ql restart
    5.拉取自定义仓库,已Faker仓库为例
    docker exec -it qinglong ql repo https://ghproxy.com/https://github.com/shufflewzc/faker2.git "jd_|jx_|gua_|jddj_|getJDCookie" "activity|backUp" "^jd[^_]|USER|ZooFaker_Necklace.js|JDJRValidator_Pure|sign_graphics_validate"
    6.拉取单个脚本,以Faker库的资产变更通知为例
    docker exec -it qinglong ql raw https://github.com/shufflewzc/faker2/blob/main/jd_bean_change_new.js
    7.导出互助码
    docker exec -it qinglong ql code
    8.通知测试
    docker exec -it qinglong notify test test
    9.立即执行脚本,以资产变更通知为例
    docker exec -it qinglong task jd_bean_change_new.js now
    10.并行执行脚本
    docker exec -it qinglong task jd_bean_change_new.js conc
    11.查看青龙密码 注意你的容器及文件夹名称
    docker exec -it qinglong cat /ql/config/auth.json
    12.删除7天前的所有日志
    docker exec -it qinglong ql rmlog 7
    13.启动青龙bot 前提你已配置好青龙BOT
    docker exec -it qinglong ql bot

    FAQ

    网络问题

    修改配置文件,找到 ProxyUrl,配置如下地址即可。

    https://pd.zwc365.com/

    https://ttsqq.ttsqq.workers.dev/

    https://hub.fastgit.xyz/

    https://gh.fakev.cn/

    依赖问题

    不做过多的赘述 - 此文档仅做记录

    • 实例
      1
      sudo docker exec -it ql pnpm i png-js

    面板无法打开,但是脚本还是正常运行的情况

    1
    2
    # 重启服务器
    docker exec -it ql nginx -c /etc/nginx/nginx.conf


沪ICP备19023445号-2号
友情链接