跳至主要內容

ntfy:跨平台的消息通知

约 697 字大约 2 分钟...

ntfyopen in new window 是一个支持网页、安卓、iOS 等多平台的消息通知服务,它允许用户在不创建账户的情况下发送和接收通知。ntfy 的设计宗旨是简单易用,旨在提供低门槛的访问和通知传递。用户可以通过简单的 URL 发送和接收通知,这些 URL 可通过随机生成以增加隐私性。

在使用 NAS 自建的 ntfy 容器进行测试时,我发现经常收不到消息。改用官方服务器后,情况有了明显改善。因此,如果你的 ntfy 通知不涉及敏感个人隐私,建议直接使用官方服务器 ntfy.sh,无需自行搭建,以保证通知的稳定性和可靠性。

如何使用 ntfy

订阅主题

在 ntfy 中,接收消息是基于主题的。主题类消息并不受密码保护,增加了使用过程中的隐私考虑。不控制接收方的情况下,任何知道服务器地址和主题名称的人都可以接收消息通知或发布更新。因此,选择一个不容易被猜到的主题名至关重要。

注意事项

  • 服务器作为中转站: ntfy 服务器仅作为消息的中转站,这意味着您需要在每台想要接收通知的设备上重新配置和订阅消息。
  • 公开推送的消息: ntfy 设计时考虑到消息的公开性,虽然大部分消息是公开推送的,但用户依然可以控制消息的接收方。
  • 桌面提醒方案: 虽然 ntfy 本身没有专门的桌面应用,PC 用户可以通过安装 ntfy-browseropen in new window 浏览器扩展来接收通知,但也经常收不到消息。

部署代码

推荐通过 Docker Compose 部署 ntfy,详情请见 Docker Compose 部署教程。以下是 Docker Compose 配置示例:

version: "2.3"

services:
  ntfy:
    image: binwiederhier/ntfy
    container_name: ntfy
    command:
      - serve
    environment:
      - TZ=Asia/Shanghai
    user: 1026:100 # optional: replace with your own user/group or uid/gid
    volumes:
      - /volume1/docker/ntfy/cache:/var/cache/ntfy
      - /volume1/docker/ntfy/etc:/etc/ntfy
    ports:
      - 5730:8080
    healthcheck: # optional: remember to adapt the host:port to your environment
        test: ["CMD-SHELL", "wget -q --tries=1 http://localhost:8080/v1/health -O - | grep -Eo '\"healthy\"\\s*:\\s*true' || exit 1"]
        interval: 60s
        timeout: 10s
        retries: 3
        start_period: 40s
    restart: unless-stopped

配置注意:默认情况下,ntfy 使用 80 端口,但更改为 8080 端口可以避免潜在的冲突。您需要在 /volume1/docker/ntfy/etc 目录下新建 server.yml 文件,并添加 listen-http: ":8080" 配置。查看更多服务器配置选项,可以参考官方配置样例open in new window

部署完成后,通过浏览器访问 http://<你的服务器IP或域名>:5730 即可访问 ntfy 服务。

上次编辑于:
你认为这篇文章怎么样?
  • 0
  • 0
  • 0
  • 0
  • 0
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3