什么是 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 服务,实现更灵活的通知路由。