青龙面板
创建目录
mkdir -p ~/docker_data/qinglong
cd ~/docker_data/qinglong创建yml文件
在 ~/docker_data/qinglong 文件夹下面新建 docker-compose.yml 文件如下:
version: '2'
services:
qinglong:
image: whyour/qinglong:2.17
container_name: qinglong_biliup_rs
user: root
volumes:
- "./data:/ql/data"
- "./config:/ql/config"
- "./log:/ql/log"
- "./db:/ql/db"
- "./scripts:/ql/scripts"
- "./jbot:/ql/jbot"
- "./repo:/ql/repo"
- "/root/xue:/ql/xue"
ports:
- "5701:5700" # 左边换成宿主机上未被占用的端口(Nginx需要同步更改)
environment:
QlBaseUrl: '/'
restart: unless-stoppeddocker compose up -dcd /ql/xue
python3 xue-ql.py问题
登录页白屏
cdn.jsdelivr.net无法访问,
- 一、[hosts]解决访问青龙面板电脑连接
cdn.jsdelivr.net的问题。 - 二、替换 js 文件地址
一键修改
进入容器
运行一键
bash <(curl -ls https://gitee.com/suiyuehq/ziyong/raw/master/ql_cdn/v2.10.13/bpxf.sh)按面板提示 白屏就是 1 脚本管理等界面 5 建议这两个都用一次 以绝后患 脚本管理进不去等问题 修复完成后 在该页面按 Ctrl+F5 刷新即可完美解决
超时
青龙面板默认任务执行的超时时间是1小时
修改配置文件
## 设置定时任务执行的超时时间,默认1h,后缀"s"代表秒(默认值), "m"代表分, "h"代表小时, "d"代表天
CommandTimeoutTime="24h"# 把/root/docker_data/qinglong/data/scripts/bilibili_daily_up文件夹移动到/root/docker_data/qinglong/scripts
mv /root/docker_data/qinglong/data/scripts/bilibili_daily_up /root/docker_data/qinglong/scripts/换源
Python
https://pypi.tuna.tsinghua.edu.cn/simpleLinux
alpine linux
https://mirrors.aliyun.comcat /etc/apk/repositories
vi /etc/apk/repositorieshttps://mirrors.aliyun.com/alpine/v3.19/main
https://mirrors.aliyun.com/alpine/v3.19/communityapk update
apk upgrade
apk add ffmpegPython脚本
添加脚本

父目录要在scripts下创建

设置定时任务

【命令】
# 依次执行任务:`task <file_path>`
task test/hello.py【定时规则】
https://tool.lu/crontab/
秒(可选) 分 时 天 月 周Linux
* * * * *
- - - - -
| | | | |
| | | | +----- day of week (0 - 7) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
| | | +---------- month (1 - 12) OR jan,feb,mar,apr ...
| | +--------------- day of month (1 - 31)
| +-------------------- hour (0 - 23)
+------------------------- minute (0 - 59)调用内置通知
# 通知测试命令-调用js脚本
notify test青龙 test青龙1优先使用环境变量的TOKEN和SECRET,如果没有则获取脚本里的配置
青龙的全局配置里钉钉机器人的 DD_BOT_SECRET和 DD_BOT_TOKEN都要填写,SECRET没有也要填
调用Demo
from noyify import send
if __name__ == '__main__':
send("青龙-标题", "青龙-内容")常用内置命令
task
# 依次执行,如果设置了随机延迟,将随机延迟一定秒数
task <file_path>
# 依次执行,无论是否设置了随机延迟,均立即运行,前台会输出日,同时记录在日志文件中
task <file_path> now
# 并发执行,无论是否设置了随机延迟,均立即运行,前台不产生日,直接记录在日志文件中,且可指定账号执行
task <file_path> conc <env_name> <account_number>(可选的)
# 指定账号执行,无论是否设置了随机延迟,均立即运行
task <file_path> desi <env_name> <account_number>
# 设置任务超时时间
task -m <max_time> <file_path>
# 使用 -- 分割,-- 后面的参数会传给脚本,下面的例子,脚本就可接收到参数 -u whyour -p password
task <file_path> -- -u whyour -p passwordql
# 更新并重启青龙
ql update
# 运行自定义脚本extra.sh
ql extra
# 添加单个脚本文件
ql raw <file_url>
# 添加单个仓库的指定脚本
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch> <extensions>
# 删除旧日志
ql rmlog <days>
# 启动tg-bot
ql bot
# 检测青龙环境并修复
ql check
# 重置登录错误次数
ql resetlet
# 禁用两步登录
ql resettfafile_url: 脚本地址
repo_url: 仓库地址
whitelist: 拉取仓库时的白名单,即就是需要拉取的脚本的路径包含的字符串,多个竖线分割
blacklist: 拉取仓库时的黑名单,即就是需要拉取的脚本的路径不包含的字符串,多个竖线分割
dependence: 拉取仓库需要的依赖文件,会直接从仓库拷贝到scripts下的仓库目录,不受黑名单影响,多个竖线分割
extensions: 拉取仓库的文件后缀,多个竖线分割
branch: 拉取仓库的分支
days: 需要保留的日志的天数
file_path: 任务执行时的文件路径
env_name: 任务执行时需要并发或者指定时的环境变量名称
account_number: 任务执行时指定某个环境变量需要执行的账号序号
max_time: 超时时间,后缀"s"代表秒(默认值), "m"代表分, "h"代表小时, "d"代表天
- 运行自定义脚本(容器):
docker exec -it ql extra - 运行自定义脚本:
ql extra - 添加单个脚本文件:
ql raw <file_url> - 添加单个仓库的指定脚本:
ql repo <repo_url> <whitelist> <blacklist> <dependence> <branch> <extensions> - 检测青龙环境并修复件:
ql check - 依次执行任务:
task <file_path> - 立即执行任务:
task <file_path> now - 并发执行任务:
task <file_path> conc <env_name> <account_number> - 设置任务超时时间:
task -m <max_time> <file_path>
Api
- 在系统设置 -> 应用设置 -> 添加应用,权限目前支持5个模块,可以选择多个模块。选择一个模块之后,可读写此模块的所有接口。
- 使用生成的 client_id 和 client_secret 请求获取token接口 http://localhost:5700/open/auth/token?client_id=xxxxxx&client_secret=xxxxxxxx
- 上面接口返回的token有效期为30天,可用于请求青龙的接口 curl 'http://localhost:5700/open/envs?searchValue=&t=1630032278171' -H 'Authorization: Bearer 接口返回的token'
- openapi的接口与系统正常接口的区别就是青龙里的是/api/envs,openapi是/open/envs,即就是青龙接口中的api换成open
大概是这样,目前没有详细文档
底部
xue-ql.sh
cd /ql/test/xue
python3 xue-ql.py