article_image

我们知道钉钉、飞书、企业微信这些办公聊天软件都有一个 Webhook 机器人的功能。可以通过特定的格式往群内推送消息,起到告警、提醒作用。

但如果我们只需要一个“及时告警”的功能,而不需要整套聊天工具,有什么好方案吗?

本文要介绍的 Ntfy 就是这样一个开源的超轻量通知推送工具,可以通过简单的 HTTP API,把消息推送到你的手机、电脑,甚至是其他服务。你可以用它来:

  • 监控服务器运行状态,异常时立即通知你。
  • 在脚本跑完任务后提醒你。
  • 自动化工作流的状态更新。
  • 通过 Webhook 实现事件触发的消息推送。

总之,只要是需要“发个消息通知一下”的场景,Ntfy 都能轻松胜任。

🏠 ntfy.sh 官网

快速上手官方 Ntfy 服务(App 配置)

如果你只是想快速体验一下 Ntfy ,可以先直接用官方的 Ntfy 服务:

  • 安装 Ntfy App:在手机或电脑上下载 Ntfy App。

🔗 ntfy - App Store

🔗 ntfy - Google Play

官网还有其他下载方式,比如通过 F-Droid 下载 Android 版本。

  • 订阅一个主题:在 App 里输入一个自定义的主题名称,比如 mytopic。
  • 发送测试消息:最简单的方法是在电脑的终端里输入:
curl -d "Backup successful 😀" ntfy.sh/mytopic
  • 接收通知:打开 App,你会看到一条来自 Ntfy 的消息。

这种方式简单方便,如果用量少,直接使用免费的官方服务(免费版支持每天 250 条消息)即可。

但如果你对数据隐私比较在意,或者希望更多自定义功能,那自建一个 Ntfy 服务会更合适。

自建 Ntfy 服务

要在自己的服务器上部署 Ntfy 服务,只需要几步:

  • 通过 Docker 容器部署

这里的 40265 是演示,你可以换成任意端口,映射到容器内的 80 端口上。

bash docker run -p 40265:80 -it binwiederhier/ntfy serve

  • 开放防火墙端口:确保 40265 端口可以正常访问。
  • 访问 Ntfy 服务:浏览器里打开 http://your-server-ip:40265,如果看到欢迎页面,那就成功了!

如果嫌麻烦,1Panel 也提供直接更直接的部署方式。

如果你想持久化保存历史记录,可以参考官网提供的 Docker 示例对命令进行改写。但日常使用只需要最简化的版本即可。

在进入网页后,这就是你自己部署的 Ntfy 服务了,新增一个自定义的主题名称,比如 mytopic。

然后就可以把命令改写为这样——

curl -d "Backup successful 😀" your-server-ip:40265/mytopic

即可在网页端接收到消息推送了。

更多的设

机器阅读:已开放本文前 70% 的正文,剩余内容会员可见。 标准阅读页 · Markdown


author_avatar

#UNTAG Developer