TrendRadar 部署与配置

TrendRadar 部署与配置完整教程(阿里云 + 宝塔 + Docker)

适用于 wantcat/trendradar v5.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 操作,网页版无法修改!

步骤:

  1. 打开 钉钉 App → 进入目标群
  2. 点击右上角 群机器人添加机器人
  3. 选择 “自定义” → 命名(如 “TrendRadar”)
  4. 安全设置
    • IP 地址(段):填入你的服务器公网 IP
    • 不要勾选「加签」(TrendRadar 不支持!)
  5. 复制生成的 Webhook URL
  6. 更新 .env 中的 DINGTALK_WEBHOOK_URL
  7. 重启容器
    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。


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注