什么是 NTFY
NTFY 是一个轻量级的开源消息推送服务,基于 HTTP 发布/订阅(Pub/Sub)模式。它支持 Android、iOS、桌面端客户端,也能通过 curl 等命令行工具直接发送消息。非常适合需要自定义通知的场景。
Docker 部署
使用 Docker 是最简便的部署方式:
docker run -d \
--name ntfy \
-p 8080:80 \
-v /data/ntfy:/var/cache/ntfy \
binwiederhier/ntfy \
serve
基础用法
推送消息只需发送一个 HTTP POST 请求:
curl -d "服务器备份完成" ntfy.example.com/backup
客户端订阅 topic 后即可实时接收消息。安卓用户可使用 NTFY Android 客户端,iOS 用户可通过 Bark 或自定义集成接收通知。
访问控制
生产环境建议通过 Nginx 反向代理并配置 HTTPS,同时开启访问控制:
ntfy:
auth_file: /etc/ntfy/auth.db
auth_default_access: "deny-all"
使用 ntfy user add 命令创建用户,为不同 topic 设置独立的读写权限,确保通知安全。
与 HFish/Apprise 联动
NTFY 可作为 HFish 蜜罐的告警通知通道,在 HFish 管理端配置 Webhook 指向 NTFY topic 地址。同时 Apprise 的 ntfy:// 协议可直接对接 NTFY 服务,实现更灵活的通知路由。