我们知道钉钉、飞书、企业微信这些办公聊天软件都有一个 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
即可在网页端接收到消息推送了。
更多的设
