TrendRadar 部署与配置完整教程(阿里云 + 宝塔 + Docker)
适用于
wantcat/trendradarv5.3.0,实现 每日定时爬取热点 + 钉钉推送 + Web 报告展示
📌 一、环境要求
- 阿里云 ECS(Linux,推荐 CentOS 7+/Alibaba Cloud Linux)
- 已安装 Docker 和 Docker Compose
- 宝塔面板(可选,用于管理防火墙和文件)
- 公网 IP
🚀 二、部署步骤
1. 创建项目目录
mkdir -p /www/wwwroot/TrendRadar/{config,output,docker}
cd /www/wwwroot/TrendRadar
2. 准备配置文件
config/config.yaml
从官方示例复制基础配置(通常默认即可)。
docker/.env
# ============================================
# Web 服务器配置
# ============================================
ENABLE_WEBSERVER=true
WEBSERVER_PORT=8081
# ============================================
# 钉钉通知(关键!)
# ============================================
DINGTALK_WEBHOOK_URL=https://oapi.dingtalk.com/robot/send?access_token=你的token
# ============================================
# 运行配置
# ============================================
CRON_SCHEDULE="0 9,18 * * *" # 每天 9:00 和 18:00 执行
RUN_MODE=cron
IMMEDIATE_RUN=true
TZ=Asia/Shanghai
🔔 注意:其他通知渠道留空即可。
3. 编写 docker-compose.yml
services:
trendradar:
image: wantcat/trendradar:latest
container_name: trendradar
restart: unless-stopped
env_file: .env
ports:
- "${WEBSERVER_PORT:-8080}:${WEBSERVER_PORT:-8080}" # 关键:去掉 127.0.0.1
volumes:
- ../config:/app/config:ro
- ../output:/app/output
environment:
- TZ=Asia/Shanghai
✅ 重点:
ports必须写成"8081:8081",不能是"127.0.0.1:8081:8081"!
4. 启动服务
cd /www/wwwroot/TrendRadar/docker
docker-compose up -d
🔒 三、网络与安全配置
1. 阿里云安全组(必须!)
- 登录 阿里云控制台
- 找到实例 → 安全组 → 入方向
- 添加规则:
- 协议:自定义 TCP
- 端口:
8081 - 授权对象:
0.0.0.0/0或你的 IP
2. 宝塔防火墙(如果启用)
- 宝塔面板 → 安全 → 放行端口
8081
3. 验证 Web 访问
浏览器打开:
http://你的服务器ip:8081
✅ 应显示热点报告页面。
📱 四、钉钉机器人配置(关键!)
⚠️ 必须用手机或桌面钉钉 App 操作,网页版无法修改!
步骤:
- 打开 钉钉 App → 进入目标群
- 点击右上角
…→ 群机器人 → 添加机器人 - 选择 “自定义” → 命名(如 “TrendRadar”)
- 安全设置:
- ✅ IP 地址(段):填入你的服务器公网 IP
- ❌ 不要勾选「加签」(TrendRadar 不支持!)
- 复制生成的 Webhook URL
- 更新
.env中的DINGTALK_WEBHOOK_URL - 重启容器:
docker-compose down && docker-compose up -d
🧪 五、测试与验证
1. 手动触发一次任务
docker exec trendradar python -m trendradar
2. 查看日志
docker logs trendradar --tail 50
✅ 成功标志:
钉钉第 1/1 批次发送成功- 钉钉群收到消息
- Web 报告更新(访问
:8081可见)
⏰ 六、定时任务说明
| 配置 | 含义 |
|---|---|
CRON_SCHEDULE="0 9,18 * * *" |
每天 9:00 和 18:00 执行 |
IMMEDIATE_RUN=true |
容器启动时立即运行一次 |
📅 修改后需 重启容器 才生效!
🛠️ 七、常用命令
| 功能 | 命令 |
|---|---|
| 手动执行一次 | docker exec trendradar python -m trendradar |
| 查看日志 | docker logs trendradar --tail 100 |
| 重启服务 | docker-compose down && docker-compose up -d |
| 检查端口 | docker port trendradar |
❌ 八、常见问题排查
Q1: 钉钉收不到消息,报“签名不匹配”
- 原因:开启了「加签」
- 解决:关闭加签,只保留 IP 白名单
Q2: 网页打不开(连接拒绝)
- 原因:Docker 端口绑定到
127.0.0.1或防火墙未放行 - 解决:
- 修改
docker-compose.yml为"8081:8081" - 放行阿里云安全组 + 宝塔防火墙
- 修改
Q3: 修改 .env 后不生效
- 原因:环境变量需重启容器加载
- 解决:执行
docker-compose down && up -d
✅ 九、最终效果
- 每天 9:00 和 18:00 自动推送热点到钉钉
- 随时可通过
http://你的IP:8081查看最新报告 - 支持 11+ 平台 + RSS 聚合
💡 提示:如需长期稳定运行,建议将 Web 服务通过 Nginx 反向代理并启用 HTTPS。
发表回复