VPS搭建ntfy推送通知服务:自托管的手机和桌面消息推送

Docker部署、curl一行发推送、cron集成通知和Android/iOS客户端订阅
发布于
1

服务器备份完了想收到通知、自动任务执行结果想推送到手机——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
fi

Nginx反代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小时可查询历史消息。可配置为不保存(纯推送)。

本文由作者原创/授权发布于极跃圈(jiyueip.com)未经许可,禁止转载。题图来自Unsplash,基于CC0协议。

声明:极跃圈(JIYUEIP.com)内网友所发表的所有内容及言论仅代表其本人,并不反映任何极跃圈(JIYUEIP.com)之意见及观点。

0 讨论
热门最新
总结
暂无总结
0 / 600

想关注一个人的微博更新但不想每天刷APP?RSSHub能把几乎所有网站变成RSS订阅源,装在你的VPS上,配合FreshRSS(第32篇ID 13574)就能用RSS阅读器看微博、知乎、B站、Twitter、YouTube等几百个平台的内容