Docker 部署 Qinglong 面板 🐉

Qinglong Banner

📋 目录导航

🎯 项目简介

Qinglong(青龙面板) 是一个支持 Python3、JavaScript、Shell、TypeScript 的定时任务管理平台,主要用于管理各种自动化脚本,如京东薅羊毛脚本、签到脚本等。它提供了强大的任务调度、日志管理和依赖管理功能。

🛠️ 核心特性

特性类别 功能描述 优势
⏰ 定时任务管理 支持 cron 表达式 灵活配置执行时间,精确控制任务调度
🌐 多语言支持 Python3、JavaScript、Shell、TypeScript 广泛兼容各种脚本语言,扩展性强
📊 可视化界面 Web 界面管理 直观易用的任务管理和监控界面
🔧 依赖管理 自动安装和管理依赖 简化脚本环境配置,提高兼容性
📱 通知提醒 多种通知方式 支持微信、Telegram、邮件等通知渠道
👥 多用户支持 权限管理和用户控制 支持团队协作和权限分配
🔄 脚本市场 内置脚本库 一键添加常用脚本,快速上手

🐳 一、Docker 部署 Qinglong 面板

1. 使用 Docker Compose 部署 📁

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
mkdir -p /mnt/mydisk/home/qinglong && cd $_ && \
cat > docker-compose.yml <<'EOF'
services:
qinglong:
image: whyour/qinglong:latest
container_name: qinglong
restart: unless-stopped
ports:
- "5700:5700"
volumes:
- ./config:/ql/config
- ./log:/ql/log
- ./db:/ql/db
- ./scripts:/ql/scripts
- ./repo:/ql/repo
environment:
- ENABLE_HANGUP=true
- ENABLE_WEB_PANEL=true
tty: true
stdin_open: true
EOF

2. 拉取镜像并启动容器 🚀

1
docker-compose up -d

🚀 二、使用 Qinglong 面板

1. 首次访问设置 🎯

  1. 打开浏览器访问: http://你的服务器IP:5700
  2. 查看初始密码:
    1
    docker exec -it qinglong cat /ql/config/auth.json
  3. 使用获取的用户名和密码登录
  4. 首次登录后立即修改默认密码
  5. 根据需要配置通知方式(邮件、Telegram、微信等)
  6. 开始添加或导入定时任务

2. 功能特性 ✨

  • 定时任务: 支持 cron 表达式,灵活配置执行时间
  • 📊 任务管理: 可视化添加、编辑、删除和运行任务
  • 🔧 依赖管理: 自动安装和管理脚本所需的依赖
  • 📱 通知提醒: 支持多种通知方式(微信、Telegram、邮件等)
  • 👥 多用户: 支持多用户管理和权限控制
  • 🔄 脚本市场: 内置脚本市场,一键添加常用脚本

🌐 三、Nginx 反向代理配置

访问地址示例:https://qinglong.example.com:666

1. 创建 Nginx 配置文件 🔧

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
32
33
34
35
36
37
38
39
40
41
42
43
mkdir -p /etc/nginx/conf.d && \
cat > /etc/nginx/conf.d/qinglong.conf <<'EOF'
server {
listen 666 ssl;
listen [::]:666 ssl;
server_name qinglong.example.com; # 替换为你的域名

# SSL 证书
ssl_certificate /etc/nginx/keyfile/cert.pem;
ssl_certificate_key /etc/nginx/keyfile/key.pem;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers off;
ssl_ciphers ECDHE+AESGCM:ECDHE+CHACHA20:!aNULL:!MD5;

# 安全头部
add_header X-Frame-Options DENY;
add_header X-Content-Type-Options nosniff;
add_header X-XSS-Protection "1; mode=block";

# 文件大小限制
client_max_body_size 100M;

location / {
proxy_pass http://127.0.0.1:5700;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_buffering off;

# WebSocket 支持
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}

# 错误页
error_page 404 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
EOF

2. 测试并重载 Nginx 🔄

1
sudo nginx -t && sudo systemctl reload nginx

🔧 四、容器维护命令

1. Docker Compose 命令 🐳

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
# 进入项目目录
cd /mnt/mydisk/home/qinglong

# 停止并删除容器
docker-compose down

# 拉取最新镜像
docker-compose pull

# 启动容器
docker-compose up -d

# 查看服务状态
docker-compose ps

# 查看服务日志
docker-compose logs

# 跟踪服务日志
docker-compose logs -f

# 完整升级流程
docker-compose down && \
docker-compose pull && \
docker-compose up -d && \
docker image prune -f

2. Docker 容器命令 📦

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
# 查看运行中容器
docker ps

# 停止/启动/重启容器
docker stop qinglong
docker start qinglong
docker restart qinglong

# 删除容器
docker rm qinglong

# 进入容器Shell
docker exec -it qinglong sh
docker exec -it qinglong bash

# 查看容器日志
docker logs qinglong
docker logs -f qinglong
docker logs --tail 100 qinglong

# 监控资源使用
docker stats qinglong

# 查看容器详情
docker inspect qinglong

3. Docker 镜像管理 📀

1
2
3
4
docker images
docker rmi whyour/qinglong:latest
docker image prune -f
docker image prune -a -f

🌟 启航自动化,高效随心

通过本文档,你已经成功使用 Docker 部署了 Qinglong 面板,并借助 Nginx 反向代理实现了安全便捷的远程访问。现在,你可以:

轻松管理 各类定时任务,从签到脚本到自动化流程,一切尽在掌握
🤖 解放双手 自动化执行重复性工作,让生活与工作更加高效从容
📊 清晰掌控 通过可视化界面实时监控任务状态与执行日志
🔔 及时知晓 多渠道接收任务通知,随时掌握运行状态与结果

自动化不仅是技术的实现,更是生活与工作方式的升级。愿 Qinglong 成为你可靠的自动化伙伴,帮助你节省宝贵时间,聚焦于真正重要的事务。

从现在开始,部署你的第一个脚本,开启高效自动化之旅吧!⚡


📌 持续关注:建议关注 Qinglong 官方更新,及时获取新功能与优化。
🐛 反馈与互助:使用中如有疑问或建议,可前往 GitHub Issues 提出。

祝你配置顺利,自动化有成!🎉