.env 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. # ============================================
  2. # 核心配置(环境变量优先级 > config.yaml)
  3. # ============================================
  4. # 是否启用爬虫 (true/false)
  5. ENABLE_CRAWLER=
  6. # 是否启用通知 (true/false)
  7. ENABLE_NOTIFICATION=
  8. # 报告模式(daily|incremental|current)
  9. REPORT_MODE=
  10. # 排序优先级 (true=先按配置位置排序,false=先按热点条数排序)
  11. SORT_BY_POSITION_FIRST=
  12. # 每个关键词最大显示数量 (0=不限制,>0=限制数量)
  13. MAX_NEWS_PER_KEYWORD=
  14. # 内容顺序:false=热点词汇统计在前,true=新增热点新闻在前
  15. REVERSE_CONTENT_ORDER=
  16. # ============================================
  17. # Web 服务器配置
  18. # ============================================
  19. # 是否自动启动 Web 服务器托管 output 目录 (true/false)
  20. # 启用后可通过 http://localhost:{WEBSERVER_PORT} 访问生成的报告
  21. # 手动控制:docker exec -it trendradar python manage.py start_webserver
  22. ENABLE_WEBSERVER=false
  23. # Web 服务器端口(默认 8080,可自定义避免冲突)
  24. # 注意:修改后需要重启容器生效
  25. WEBSERVER_PORT=8080
  26. # ============================================
  27. # 推送时间窗口配置
  28. # ============================================
  29. # 是否启用推送时间窗口 (true/false)
  30. PUSH_WINDOW_ENABLED=
  31. # 推送开始时间 (HH:MM 格式,如 08:00)
  32. PUSH_WINDOW_START=
  33. # 推送结束时间 (HH:MM 格式,如 22:00)
  34. PUSH_WINDOW_END=
  35. # 每天只推送一次 (true/false)
  36. PUSH_WINDOW_ONCE_PER_DAY=
  37. # ============================================
  38. # 多账号配置
  39. # ============================================
  40. # 每个渠道最大账号数量(建议不超过 3,避免fork用户触发账号风险)
  41. MAX_ACCOUNTS_PER_CHANNEL=
  42. # ============================================
  43. # 通知渠道配置(多账号用 ; 分隔)
  44. # ============================================
  45. # 飞书机器人 webhook URL(多账号用 ; 分隔)
  46. FEISHU_WEBHOOK_URL=
  47. # Telegram Bot Token(多账号用 ; 分隔,需与 chat_id 数量一致)
  48. TELEGRAM_BOT_TOKEN=
  49. # Telegram Chat ID(多账号用 ; 分隔,需与 bot_token 数量一致)
  50. TELEGRAM_CHAT_ID=
  51. # 钉钉机器人 webhook URL(多账号用 ; 分隔)
  52. DINGTALK_WEBHOOK_URL=
  53. # 企业微信机器人 webhook URL(多账号用 ; 分隔)
  54. WEWORK_WEBHOOK_URL=
  55. # 企业微信消息类型(markdown 或 text)
  56. WEWORK_MSG_TYPE=
  57. # 邮件配置(邮箱已支持多收件人,逗号分隔)
  58. EMAIL_FROM=
  59. EMAIL_PASSWORD=
  60. EMAIL_TO=
  61. EMAIL_SMTP_SERVER=
  62. EMAIL_SMTP_PORT=
  63. # ntfy 推送配置(多账号用 ; 分隔,topic 和 token 数量需一致)
  64. NTFY_SERVER_URL=https://ntfy.sh
  65. # ntfy主题名称(多账号用 ; 分隔)
  66. NTFY_TOPIC=
  67. # 可选:访问令牌(用于私有主题,多账号用 ; 分隔,无令牌的留空占位如 ";token2")
  68. NTFY_TOKEN=
  69. # Bark 推送配置(多账号用 ; 分隔)
  70. BARK_URL=
  71. # Slack 推送配置(多账号用 ; 分隔)
  72. SLACK_WEBHOOK_URL=
  73. # ============================================
  74. # 存储配置
  75. # ============================================
  76. # 存储后端选择 (local/remote/auto)
  77. # - local: 本地 SQLite + TXT/HTML 文件
  78. # - remote: 远程云存储(S3 兼容协议)
  79. # - auto: 自动选择(GitHub Actions 用 remote,其他用 local)
  80. STORAGE_BACKEND=auto
  81. # 本地数据保留天数(0 = 无限制,不清理历史数据)
  82. LOCAL_RETENTION_DAYS=0
  83. # 远程数据保留天数(0 = 无限制,不清理历史数据)
  84. REMOTE_RETENTION_DAYS=0
  85. # 是否生成 TXT 快照 (true/false)
  86. STORAGE_TXT_ENABLED=
  87. # 是否生成 HTML 报告 (true/false)
  88. STORAGE_HTML_ENABLED=
  89. # 远程存储配置(S3 兼容协议,支持 R2/OSS/COS/S3 等)
  90. S3_ENDPOINT_URL=
  91. S3_BUCKET_NAME=
  92. S3_ACCESS_KEY_ID=
  93. S3_SECRET_ACCESS_KEY=
  94. S3_REGION=
  95. # 数据拉取配置(从远程同步到本地)
  96. PULL_ENABLED=false
  97. PULL_DAYS=7
  98. # ============================================
  99. # 运行配置
  100. # ============================================
  101. # 定时任务表达式,每 30 分钟执行一次(比如 8点,8点半,9点,9点半这种时间规律执行)
  102. CRON_SCHEDULE=*/30 * * * *
  103. # 运行模式:cron/once
  104. RUN_MODE=cron
  105. # 启动时立即执行一次
  106. IMMEDIATE_RUN=true