Qinglong is a self-hosted timed task management platform that schedules and runs Python 3, JavaScript, Shell, and TypeScript scripts from a web interface, built for developers and operators who want central control over scheduled jobs instead of hand-editing crontab on every machine.
What it is
Qinglong is a TypeScript project, licensed Apache-2.0, that combines a task scheduler with a browser-based management panel. It is distributed mainly as Docker images under whyour/qinglong and secondarily as the npm package @whyour/qinglong. From the panel, users write and store scripts, define environment variables and configuration files, set schedules, read task logs, and receive system-level notifications. The Docker image ships in two variants: latest, built on Alpine, and debian, built on debian-slim, with the Debian variant recommended when Alpine lacks a required dependency, most notably when running the container as a non-root user, since Alpine's crond requires root.
The concrete problem it solves is the operational gap around plain crontab. A crontab entry names a command and a schedule, but gives no place to keep the script itself, no retained output to inspect, no managed environment variables, and no remote interface. Qinglong replaces that hand-maintained crontab file with a managed console: jobs, their scripts, their variables, and their logs all live in one panel reachable over HTTP on port 5700. It sits in the self-hosted Linux container ecosystem alongside other cron front ends, and it lists crontab among its topics.
Key capabilities
- Runs scheduled jobs in four languages: Python 3, JavaScript, Shell, and TypeScript.
- Manages scripts, environment variables, and configuration files online rather than through shell access to the host.
- Shows task logs online, so job output is inspectable from the panel.
- Supports second-level task settings, allowing schedules finer than the one-minute granularity of classic
crontab.
- Sends system-level notifications.
- Offers a dark mode and a mobile-friendly interface, so jobs can be checked and started from a phone.
- Ships two Docker image variants,
whyour/qinglong:latest on Alpine and whyour/qinglong:debian on debian-slim.
Who uses it and how
- Self-hosters running a home server or NAS who deploy one container, mount a single data volume at
/ql/data, and publish port 5700.
- Operators who need a non-root container: they use the
debian image and pass --user qinglong, a combination the Alpine image cannot support because its crond needs root.
- Users on hosts where containers are not wanted: they install
@whyour/qinglong via npm on debian, ubuntu, or alpine systems, having installed node, npm, python3, pip3, and pnpm themselves.
- Teams replacing crontab sprawl across several machines, who want one panel for schedules, stored environment variables, and retained log output rather than per-host editing.
- Script-driven automations that depend on centrally stored environment variables and configuration files, edited in the panel and injected at run time.
Getting started
Docker is the primary path: run whyour/qinglong:latest or whyour/qinglong:debian with a volume mounted at /ql/data and port 5700 published. The npm route installs the same project with npm i @whyour/qinglong, and installation guides, built-in API references, and built-in command references are published at https://qinglong.online.
How it compares
The README explicitly credits crontab-ui among its references, which places Qinglong in the same family of web front ends that put a browser interface over cron. It goes further than a thin cron editor by also storing the scripts themselves, their environment variables, and their configuration files, and by supporting Python 3, JavaScript, Shell, and TypeScript alongside second-level scheduling. The facts provided name no paid products that Qinglong replaces.
When to use it — and when not to
A self-hoster must operate the Docker host, the mounted /ql/data volume, and port 5700, or maintain a host with node, npm, python3, pip3, and pnpm installed for the npm route. Users who need non-root execution inside a container must accept the larger debian image, because the Alpine variant cannot do it. The README itself is brief and defers installation, API, and command details to the external documentation site, so anyone expecting complete operational guidance, high-availability clustering, or a supported hosted service should look elsewhere; only a demo instance is offered at http://demo.qinglong.online:4433/.
project readme (upstream, from github) — read inline

青龙
简体中文 | English
支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台
Timed task management platform supporting Python3, JavaScript, Shell, Typescript

Demo / Issues / Telegram Channel / Buy Me a Coffee
演示 / 反馈 / Telegram 频道 / 打赏开发者

功能
- 支持多种脚本语言(python3、javaScript、shell、typescript)
- 支持在线管理脚本、环境变量、配置文件
- 支持在线查看任务日志
- 支持秒级任务设置
- 支持系统级通知
- 支持暗黑模式
- 支持手机端操作
版本
docker
latest 镜像是基于 alpine 构建,debian 镜像是基于 debian-slim 构建。如果需要使用 alpine 不支持的依赖,建议使用 debian 镜像
⚠️ 重要提示: 如果您需要以非 root 用户运行 Docker,请使用 debian 镜像。Alpine 的 crond 需要 root 权限。
docker pull whyour/qinglong:latest
docker pull whyour/qinglong:debian
使用 debian 镜像以非 root 用户运行时,需指定 --user qinglong:
docker run -d \
-v /path/to/ql/data:/ql/data \
-p 5700:5700 \
--user qinglong \
--name qinglong \
whyour/qinglong:debian
npm
npm 版本支持 debian/ubuntu/alpine 系统,需要自行安装 node/npm/python3/pip3/pnpm
npm i @whyour/qinglong
部署
查看文档
内置 API
查看文档
内置命令
查看文档
开发
git clone https://github.com/whyour/qinglong.git
cd qinglong
cp .env.example .env
# 推荐使用 pnpm https://pnpm.io/zh/installation
npm install -g [email protected]
pnpm install
pnpm start
打开你的浏览器,访问
链接
名称来源
青龙,又名苍龙,在中国传统文化中是四象之一、天之四灵之一,根据五行学说,它是代表东方的灵兽,为青色的龙,五行属木,代表的季节是春季,八卦主震。苍龙与应龙一样,都是身具羽翼。《张果星宗》称“又有辅翼,方为真龙”。
《后汉书·律历志下》记载:日周于天,一寒一暑,四时备成,万物毕改,摄提迁次,青龙移辰,谓之岁。
在中国二十八宿中,青龙是东方七宿(角、亢、氐、房、心、尾、箕)的总称。 在早期星宿信仰中,祂是最尊贵的天神。 但被道教信仰吸纳入其神系后,神格大跌,道教将其称为“孟章”,在不同的道经中有“帝君”、“圣将”、“神将”和“捕鬼将”等称呼,与白虎监兵神君一起,是道教的护卫天神。