服务器备份完了想收到通知、自动任务执行结果想推送到手机——ntfy是一个极简的HTTP推送服务,Docker部署、任何语言curl一行就能发推送、支持Android/iOS/桌面客户端。
Docker部署
docker run -d --restart always
-p 8089:80
-v ntfy-cache:/var/cache/ntfy
-v ntfy-data:/var/lib/ntfy
--name ntfy
binwiederhier/ntfy:latest serve
# curl测试发推送
curl -d "备份完成" http://VPS_IP:8089/my-topic手机装ntfy APP→订阅 http://VPS_IP:8089/my-topic →发推送APP就弹出通知。速度极快(秒级)。
雨云VPS月付几块跑ntfy。优惠码 admin01 首月五折。
集成到脚本和监控里
# cron备份完成后发通知
0 2 * * * /backup.sh && curl -d "数据库备份完成 $(date)" http://VPS_IP:8089/backup-alerts
# 磁盘满了发告警
USAGE=$(df / | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $USAGE -gt 85 ]; then
curl -d "磁盘使用${USAGE}%!" http://VPS_IP:8089/alerts
fiNginx反代HTTPS
server {
listen 80;
server_name push.你的域名.com;
location / {
proxy_pass http://127.0.0.1:8089;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
# certbot --nginx -d push.你的域名.com和Gotify、Pushover的对比
| 工具 | 价格 | 特点 |
|---|---|---|
| ntfy | 自托管免费 | 极简HTTP API、客户端免费 |
| Gotify | 自托管免费 | 有Web管理面板 |
| Pushover | $5一次性 | 无需自建、稳定 |
常见问题
ntfy需要FCM(Firebase)吗?
Android端默认使用WebSocket长连接实时接收消息,不需要FCM。iOS端由于系统限制需要APNs后台推送。
消息存在服务器上吗?
默认保留12小时可查询历史消息。可配置为不保存(纯推送)。






