diff --git a/apps/qinglong/2.15.15/data.yml b/apps/qinglong/2.15.15/data.yml new file mode 100644 index 000000000..964fc0bd5 --- /dev/null +++ b/apps/qinglong/2.15.15/data.yml @@ -0,0 +1,24 @@ +additionalProperties: + formFields: + - default: 5700 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelEn: WebUI Port + labelZh: 网页端口 + required: true + rule: paramPort + type: number + - default: ./data/data + edit: true + envKey: DATA_PATH + labelEn: Data folder path + labelZh: 数据文件夹路径 + required: true + type: text + - default: ./data/mnt + edit: true + envKey: MOUNT_PATH + labelEn: Mount folder path + labelZh: 挂载文件夹路径 + required: true + type: text \ No newline at end of file diff --git a/apps/qinglong/2.15.15/docker-compose.yml b/apps/qinglong/2.15.15/docker-compose.yml new file mode 100644 index 000000000..66fc62ce8 --- /dev/null +++ b/apps/qinglong/2.15.15/docker-compose.yml @@ -0,0 +1,18 @@ +version: '2' +services: + qinglong: + # alpine 基础镜像版本 + image: whyour/qinglong:v2.15.15 + container_name: ${CONTAINER_NAME} #固定写法,勿改 + networks: + - 1panel-network + # debian-slim 基础镜像版本 + # image: whyour/qinglong:debian + volumes: + - "${DATA_PATH}:/opt/qinglong/data" + ports: + - "${PANEL_APP_PORT_HTTP}:5700" + restart: always +networks: + 1panel-network: + external: true \ No newline at end of file diff --git a/apps/qinglong/README.md b/apps/qinglong/README.md new file mode 100644 index 000000000..5ed52c193 --- /dev/null +++ b/apps/qinglong/README.md @@ -0,0 +1,221 @@ +

+ + + +

+ +

青龙

+ +
+ +支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台 + +[![docker version][docker-version-image]][docker-version-url] [![docker pulls][docker-pulls-image]][docker-pulls-url] [![docker stars][docker-stars-image]][docker-stars-url] [![docker image size][docker-image-size-image]][docker-image-size-url] + +[docker-pulls-image]: https://img.shields.io/docker/pulls/whyour/qinglong?style=flat +[docker-pulls-url]: https://hub.docker.com/r/whyour/qinglong +[docker-version-image]: https://img.shields.io/docker/v/whyour/qinglong?style=flat +[docker-version-url]: https://hub.docker.com/r/whyour/qinglong/tags?page=1&ordering=last_updated +[docker-stars-image]: https://img.shields.io/docker/stars/whyour/qinglong?style=flat +[docker-stars-url]: https://hub.docker.com/r/whyour/qinglong +[docker-image-size-image]: https://img.shields.io/docker/image-size/whyour/qinglong?style=flat +[docker-image-size-url]: https://hub.docker.com/r/whyour/qinglong +
+ +[![](https://user-images.githubusercontent.com/22700758/229290661-03aabe84-8780-4ef0-8e75-2146f4636130.jpeg)](https://whyour.cn) + +简体中文 | [English](./README-en.md) + +## 功能 + +- 支持多种脚本语言(python3、javaScript、shell、typescript) +- 支持在线管理脚本、环境变量、配置文件 +- 支持在线查看任务日志 +- 支持秒级任务设置 +- 支持系统级通知 +- 支持暗黑模式 +- 支持手机端操作 + +## 部署 + +### 本机部署 + +```bash +# 待完善,可先参考开发步骤 (windows暂时不支持) +``` + +### podman 部署 + +1. podman 安装 + +```bash +https://podman.io/getting-started/installation +``` + +2. 启动容器 + +```bash +podman run -dit \ + --network bridge \ + -v $PWD/ql/data:/ql/data \ + -p 5700:5700 \ + # 部署路径非必须,以斜杠开头和结尾,比如 /test/ + -e QlBaseUrl="/" \ + --name qinglong \ + --hostname qinglong \ + docker.io/whyour/qinglong:latest +``` + +### docker 部署 + +1. docker 安装 + +```bash +sudo curl -sSL get.docker.com | sh +``` + +2. 配置国内镜像源 + +```bash +mkdir -p /etc/docker +tee /etc/docker/daemon.json <<-'EOF' +{ + "registry-mirrors": [ + "https://0b27f0a81a00f3560fbdc00ddd2f99e0.mirror.swr.myhuaweicloud.com", + "https://ypzju6vq.mirror.aliyuncs.com", + "https://registry.docker-cn.com", + "http://hub-mirror.c.163.com", + "https://docker.mirrors.ustc.edu.cn" + ] +} +EOF +systemctl daemon-reload +systemctl restart docker +``` + +3. 启动容器 + +```bash +docker run -dit \ + -v $PWD/ql/data:/ql/data \ + -p 5700:5700 \ + # 部署路径非必须,以斜杠开头和结尾,比如 /test/ + -e QlBaseUrl="/" \ + --name qinglong \ + --hostname qinglong \ + --restart unless-stopped \ + whyour/qinglong:latest +``` + +### docker-compose 部署 + +1. docker-compose 安装 + +```bash +sudo curl -L https://github.com/docker/compose/releases/download/1.16.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose +``` + +2. 启动容器 + +```bash +mkdir qinglong +wget https://raw.githubusercontent.com/whyour/qinglong/master/docker/docker-compose.yml + +# 启动 +docker-compose up -d +# 停止 +docker-compose down +``` + +3. 访问 + +打开你的浏览器,访问 http://{ip}:5700 + +## 使用 + +1. 内置命令 + +```bash +# 更新并重启青龙 +ql update +# 运行自定义脚本extra.sh +ql extra +# 添加单个脚本文件 +ql raw +# 添加单个仓库的指定脚本 +ql repo +# 删除旧日志 +ql rmlog +# 启动tg-bot +ql bot +# 检测青龙环境并修复 +ql check +# 重置登录错误次数 +ql resetlet +# 禁用两步登录 +ql resettfa + +# 依次执行,如果设置了随机延迟,将随机延迟一定秒数 +task +# 依次执行,无论是否设置了随机延迟,均立即运行,前台会输出日,同时记录在日志文件中 +task now +# 并发执行,无论是否设置了随机延迟,均立即运行,前台不产生日,直接记录在日志文件中,且可指定账号执行 +task conc (可选的) +# 指定账号执行,无论是否设置了随机延迟,均立即运行 +task desi +# 设置任务超时时间 +task -m +# 实时打印任务日志,创建定时任务时,不用携带此参数 +task -l +``` + +2. 参数说明 + +* file_url: 脚本地址 +* repo_url: 仓库地址 +* whitelist: 拉取仓库时的白名单,即就是需要拉取的脚本的路径包含的字符串,多个竖线分割 +* blacklist: 拉取仓库时的黑名单,即就是需要拉取的脚本的路径不包含的字符串,多个竖线分割 +* dependence: 拉取仓库需要的依赖文件,会直接从仓库拷贝到scripts下的仓库目录,不受黑名单影响,多个竖线分割 +* extensions: 拉取仓库的文件后缀,多个竖线分割 +* branch: 拉取仓库的分支 +* days: 需要保留的日志的天数 +* file_path: 任务执行时的文件路径 +* env_name: 任务执行时需要并发或者指定时的环境变量名称 +* account_number: 任务执行时指定某个环境变量需要执行的账号序号 +* max_time: 超时时间,后缀"s"代表秒(默认值), "m"代表分, "h"代表小时, "d"代表天 + +## 链接 + +- [nevinee](https://gitee.com/evine) +- [crontab-ui](https://github.com/alseambusher/crontab-ui) +- [Ant Design](https://ant.design) +- [Ant Design Pro](https://pro.ant.design/) +- [Umijs](https://umijs.org) +- [darkreader](https://github.com/darkreader/darkreader) +- [admin-server](https://github.com/sunpu007/admin-server) + +## 开发 + +```bash +$ git clone git@github.com:whyour/qinglong.git +$ cd qinglong +$ cp .env.example .env +# 推荐使用 pnpm https://pnpm.io/zh/installation +$ npm install -g pnpm@8.3.1 +$ pnpm install +$ pnpm start +``` + +打开你的浏览器,访问 http://127.0.0.1:5700 + +## 交流 + +[telegram频道](https://t.me/jiao_long) + +## 名称来源 + +青龙,又名苍龙,在中国传统文化中是四象之一、[天之四灵](https://zh.wikipedia.org/wiki/%E5%A4%A9%E4%B9%8B%E5%9B%9B%E7%81%B5)之一,根据五行学说,它是代表东方的灵兽,为青色的龙,五行属木,代表的季节是春季,八卦主震。苍龙与应龙一样,都是身具羽翼。《张果星宗》称“又有辅翼,方为真龙”。 + +《后汉书·律历志下》记载:日周于天,一寒一暑,四时备成,万物毕改,摄提迁次,青龙移辰,谓之岁。 + +在中国[二十八宿](https://zh.wikipedia.org/wiki/%E4%BA%8C%E5%8D%81%E5%85%AB%E5%AE%BF)中,青龙是东方七宿(角、亢、氐、房、心、尾、箕)的总称。 在早期星宿信仰中,祂是最尊贵的天神。 但被道教信仰吸纳入其神系后,神格大跌,道教将其称为“孟章”,在不同的道经中有“帝君”、“圣将”、“神将”和“捕鬼将”等称呼,与白虎监兵神君一起,是道教的护卫天神。 diff --git a/apps/qinglong/data.yml b/apps/qinglong/data.yml new file mode 100644 index 000000000..079551f5c --- /dev/null +++ b/apps/qinglong/data.yml @@ -0,0 +1,19 @@ +name: 青龙 +tags: + - 工具 +title: 支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台 +type: 工具 +description: 支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台 +additionalProperties: #固定参数 + key: qinglong #应用的 key ,仅限英文,用于在 Linux 创建文件夹 + name: 青龙 #应用名称 + tags: + - Tool #应用标签,可以有多个,请参照下方的标签列表 + shortDescZh: 支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台 #应用中文描述,不要超过30个字 + shortDescEn: A scheduled task management platform that supports Python3, JavaScript, Shell, and Typescript #应用英文描述 + type: tool #应用类型,区别于应用分类,只能有一个,请参照下方的类型列表 + crossVersionUpdate: true #是否可以跨大版本升级 + limit: 0 #应用安装数量限制,0 代表无限制 + website: https://github.com/whyour/qinglong/tree/master #官网地址 + github: https://github.com/whyour/qinglong/tree/master #github 地址 + document: https://github.com/whyour/qinglong/tree/master #文档地址 diff --git a/apps/qinglong/logo.png b/apps/qinglong/logo.png new file mode 100644 index 000000000..883406f21 Binary files /dev/null and b/apps/qinglong/logo.png differ