工具部署|Changedetection|Docker · 一键自托管

想盯住官网改版、竞品定价页、开源项目 CHANGELOG,或博客是否被改动,却不想每天手动刷新?开源项目 changedetection.io(Apache-2.0)可以定时抓取网页,检测文本/HTML/JSON/PDF 变化,并通过邮件、Webhook、Apprise 等通道提醒你。

协议为 Apache-2.0,个人与团队自用清晰。镜像单容器即可跑,适合笔记本、NAS 或内网小主机常开,当作「网页哨兵」。

技术栈:Python · Docker 一键部署 · 可选 Playwright/WebDriver 抓取(本教程用默认 HTTP 客户端即可)

你将得到什么

  • 浏览器里的监控列表:加 URL、打标签、手动/定时重新检查
  • 单条监控的编辑页:检查间隔、过滤器、通知、历史快照
  • 全局设置:密码保护、抓取参数、Apprise 通知、备份与 API
  • 只监听 127.0.0.1,不直接暴露公网

环境要求

  • 已安装 Docker 的 Linux / macOS / Windows
  • 约 200MB~内存视监控数量而定(演示环境很轻)
  • 出网访问被监控站点(或内网地址)

官方仓库:github.com/dgtlmoon/changedetection.io。本文实机镜像为 dgtlmoon/changedetection.io:latest(界面版本约 v0.60.x)。

第一步:Docker 启动

只绑定本机端口,并把数据目录挂进容器(监控项、快照、设置都落在这里):

mkdir -p ./changedetection-data

docker run -d \
  --name changedetection \
  -p 127.0.0.1:5050:5000 \
  -v "$PWD/changedetection-data:/datastore" \
  --restart unless-stopped \
  dgtlmoon/changedetection.io:latest

浏览器打开 http://127.0.0.1:5050。首次进入即可看到主界面:顶部粘贴 URL 点「监控项」,下方是标签过滤与监控列表。演示环境会自带若干示例监控,可直接观察「检查/变更」时间戳。

Changedetection 主界面:监控列表与 URL 输入
主界面:顶部添加 URL,中间为标签与监控表(检查时间/变更状态/重新检查/编辑)

第二步:编辑一条监控

在列表点「编辑」,进入该 URL 的配置页。可改标题与分组标签、选择处理器(网页文本/HTML/JSON/PDF,或股价类),以及是否沿用全局检查间隔。需要只盯页面某一块时,再到「过滤器与触发器」里用 CSS/XPath 收窄检测范围。

Changedetection 编辑监控:通用设置
编辑页「通用」:URL、标签、处理器、检查间隔与历史条数

第三步:全局设置与密码

右上角「Settings」进入全局设置。「通用」里可调默认检查间隔(演示默认约 3 小时)、历史保留条数,并设置访问密码——自托管面板务必加密码,避免内网误开放。

Changedetection 全局设置
全局设置:检查间隔、密码、快照清理等(界面支持中文)

第四步:变更通知(Apprise)

检测到变化后,可通过 Apprise 发到邮件、Telegram、Discord、Webhook 等。侧栏「通知」或路径 /settings/notifications/apprise 可配置全局通知 URL;单条监控也可覆盖自己的通知目标。具体 URL 写法见 Apprise 文档。

Changedetection Apprise 通知设置
通知设置:用 Apprise URL 把变更推到邮件/IM/Webhook

安全与运维建议

  • 不要把 5050 直接映射到 0.0.0.0。教程用的是 127.0.0.1:5050;远程访问走 SSH 隧道:ssh -L 5050:127.0.0.1:5050 user@你的机器。
  • 务必设置面板密码(设置 → 通用),生产环境再加反向代理与 HTTPS。
  • 若监控目标在私网/本机回环,需按官方说明评估 ALLOW_IANA_RESTRICTED_ADDRESSES 等环境变量,并清楚 SSRF 风险,仅在可信环境开启。
  • 需要执行页面 JS 时,再按文档接入 Playwright/WebDriver 抓取器;纯静态页用默认 HTTP 客户端即可。
  • 演示用完可删:docker rm -f changedetection && rm -rf ./changedetection-data。
  • 升级:docker pull dgtlmoon/changedetection.io:latest 后重建同名容器(保留 /datastore 卷)。

小结

Changedetection.io 把「定时看网页有没有变」收成自托管面板:Apache-2.0、Docker 一行命令、支持过滤与多通道通知。盯 CHANGELOG、价格页、公告栏或自家站点文案,都很合适。

项目地址:https://github.com/dgtlmoon/changedetection.io

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容