自建 ntfy 推送服务器:一条 Docker 命令起服务,再补三块生产配置

发布时间:2026/10/20 23:48:51

自建 ntfy 推送服务器:一条 Docker 命令起服务,再补三块生产配置 自建 ntfy 推送服务器一条 Docker 命令起服务再补三块生产配置【免费下载链接】ntfySend push notifications to your phone or desktop using PUT/POST项目地址: https://gitcode.com/GitHub_Trending/nt/ntfyntfy 是一个自托管的推送通知服务器任何设备向它发一条 HTTP 请求消息就会实时推送到你的手机或桌面适合把服务器告警、自动化脚本的输出送到手边。本文带你用 Docker 把 ntfy 自建服务器跑起来再讲清上生产前必做的三块配置。先选型三条路线看你是谁你的场景路线说明个人 / 家用 / 测试Docker Compose一条命令起服务配置和缓存都落在宿主机目录里生产服务器apt / rpm 系统包Debian 系和 RHEL 系都有官方包装完自带 systemd 服务开发者 / 要改代码源码编译需要 Go 环境make build全量构建make cli-linux-amd64只出二进制下面的主路径按第一条写。另外两条一句话带过系统包安装走官方 apt 仓库装完systemctl start ntfy即服务化源码路线克隆仓库git clone https://gitcode.com/GitHub_Trending/nt/ntfy后执行make cli-linux-amd64产物是带 Web 界面前的纯二进制适合调试或二次开发。主路径Docker 一步步跑起来仓库根目录自带一份 Compose 文件docker-compose.yml它把宿主机的/etc/ntfy和/var/cache/ntfy挂进容器——前者放server.yml配置后者放消息缓存。先克隆仓库拿到它克隆只是拉取代码到本地不会改动仓库本身git clone https://gitcode.com/GitHub_Trending/nt/ntfy cd ntfy docker compose up -d -p 8080-p 8080把端口映射到 8080避开常见的 80 口占用。看到容器状态为running就说明起好了。接下来用一条命令验证收发链路向test-topic发一条消息再立即订阅它curl -d 部署验证 http://localhost:8080/test-topic curl -N http://localhost:8080/test-topic/stream第二条命令挂住不返回、并立刻打印出刚才那条消息说明发布和订阅都通了。此时浏览器打开http://localhost:8080能看到 Web 订阅界面手机 App 把服务器地址指过来订阅同一主题即可收到推送。不想用 Compose 的话一条docker run -p 8080:80 -d binwiederhier/ntfy serve也能跑但它既不挂配置也不落缓存适合临时体验不适合长期使用。上生产前必做1. 消息缓存落盘重启不丢消息改/etc/ntfy/server.yml宿主机目录已被容器挂载仓库的 server/server.yml 是注释模板可作键名参考。默认配置下消息只存内存重启后since拉历史这类操作就失效了。加两行cache-file: /var/cache/ntfy/cache.db cache-duration: 72hcache-file指向 SQLite 缓存文件cache-duration决定消息保留多久。docker compose restart ntfy生效想确认缓存真的写盘重启后再执行上面的订阅命令能拉到历史消息即算成功。2. 启用 HTTPS手机 App 和 Web Push 都要求服务器走 TLS这是上生产最容易漏的一步。在同一个server.yml里加监听地址和证书路径证书可先用 Lets Encrypt 签好listen-http: :80 listen-https: :443 key-file: /etc/ntfy/ntfy.key cert-file: /etc/ntfy/ntfy.crt注意证书要放宿主机/etc/ntfy/下它会被挂进容器。改完docker compose restart ntfy然后curl -k https://localhost/healthz返回 200 即生效。3. 访问控制与限流裸奔的 ntfy 会被扫描器当成免费推送服务刷。同样改server.yml至少做两件事behind-proxy: true proxy-forwarded-header: X-Forwarded-For visitor-request-limit-burst: 20 visitor-request-limit-replenish: 5s前两项在反代Nginx/Caddy后面时必配否则所有访客都被算成一个 IP限流形同虚设后两项把单访客的发送速率压下来。更细的主题级权限按用户划分读写的 ACL用auth-file配命令工具ntfy user和ntfy access管理详见 docs/config.md。改完docker compose restart ntfy用curl -i观察返回码变化即可确认。验证与排错现象浏览器打不开http://主机:8080。排查docker compose ps看容器状态宿主机上ss -lntp | grep 8080看端口归属。处置容器没起来就看docker compose logs ntfy的报错通常是挂载目录不存在先mkdir -p /etc/ntfy /var/cache/ntfy端口被别的进程占着就换-p映射。现象服务器能收到消息手机 App 一直不弹通知。排查手机里订阅的地址是否就是服务器实际地址和端口App 是否走了自签证书会报连接错误。处置自建服务器先上 HTTPS见上节再把 App 服务器地址指过来公司/校园网环境下确认 80/443 没被代理拦掉。现象日志里大量429正常用户也被限流。排查确认是否套了反代却没配behind-proxy。处置补上behind-proxy: true和转发头配置后重启让 ntfy 按真实访客 IP 限流需要更细的速率策略可参考 docs/config.md 里的 rate limiting 一节。延伸服务器能起来之后下一件事通常是接告警源仓库里的server/templates/grafana.yml是一份现成的 Grafana 消息模板docs/integrations.md 里列了更多现成集成发测试消息也可以直接用examples/publish-python/publish.py改一下地址和主题来跑。进阶方向消息模板template-dir可以把不同来源的 JSON 统一转成好看的标题和正文如果之后要接 iOS 推送还需要配置upstream-base-url指向上游这块 docs/install.md 有完整说明。先让服务器稳定跑着配置按节拆开加每次只改一处排错会省很多时间。【免费下载链接】ntfySend push notifications to your phone or desktop using PUT/POST项目地址: https://gitcode.com/GitHub_Trending/nt/ntfy创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/19 1:09:22

WSL时间同步排查:三步修复时钟偏差

WSL时间同步排查:三步修复时钟偏差 【免费下载链接】WSL Windows Subsystem for Linux 项目地址: https://gitcode.com/GitHub_Trending/ws/WSL 合上电脑睡一觉,再打开 WSL,date 已经回到昨天。日志里混着两种时间戳,cron …

2026/10/20 3:01:49

100 个页面 5 秒:Lightpanda 无头浏览器快速上手指南

100 个页面 5 秒:Lightpanda 无头浏览器快速上手指南 【免费下载链接】browser Lightpanda: the headless browser designed for AI and automation 项目地址: https://gitcode.com/GitHub_Trending/browser32/browser 还在服务器上跑整套桌面浏览器&#xf…

2026/10/20 5:45:11

金融AI治理:模型风险管理与可观测性工程实践

关于先进人工智能是否威胁全球金融稳定,讨论已经从技术圈延伸到央行和监管机构。英格兰银行行长安德鲁贝利在公开场合提醒,先进人工智能可能给全球金融稳定带来风险。这类警告并不是否定 AI 在金融中的应用,而是指出一个常被低估的工程事实&a…

2026/10/20 23:45:31

WorkBuddy Skill机制实战:从目录设计到热加载的完整拆解

WorkBuddy 的 Skill 机制我算是从零开始一点一点啃下来的。最早接触它的时候,我以为就是个普通的插件系统,无非是放几个脚本、写个配置文件、按需加载而已。真正深入进去才发现,一套设计良好的 Skill 机制,涉及存放路径、加载时序、更新策略和长期维护四个维度,每个维度里还藏着…

2026/10/20 23:45:31

LLM代理重构GPU算子优化流程:从瓶颈诊断到Kernel改写

做GPU算子优化这行,真正让我觉得工作流被彻底重写的转折点,是2026年下半年开始,我们把LLM代理正式当成“一等优化手段”来用。以前提到优化kernel,大家脑子里是Nsight Compute、SASS汇编、occupancy分析这些传统套路,现…

2026/10/20 23:45:31

AI编码助手如何应对复杂大项目?从SWE-bench冠军到代码关系网实测

标题里塞满了流量词:“AI编码新王炸”“SWE-bench冠军”“免费登场”“专治复杂大项目”“硬刚 Cursor”。我第一反应是,又来了。这半年AI编码工具的新闻标题一个比一个猛,今天有人拿下榜单第一,明天宣布开放免费,后天…

2026/10/20 23:45:31

jQuery大文件分片上传:从原理到源码的完整实践

前阵子有位做内部管理后台的朋友问我:网页端能不能用jQuery实现大文件分片上传?最好直接给份能跑的源码。他说自己系统的视频上传一直卡在超时失败,网上搜到的分片上传示例大多绑定了Vue或React的生态,塞进依赖混乱的老项目里根本…

2026/10/20 23:45:31

单人创业如何把AI当成超级员工:岗位设计、工作流与质检指南

一个人创业还算新鲜吗?前两年大家讲项目,多少还得强调“我有合伙人、有个小团队”;到了现在这个时点,很多单干的朋友已经把AI当成实实在在的“第一个超级员工”在用。我身边好几个做电商、做内容、做轻咨询的人,真正干…

2026/10/20 23:40:30

华三AC WX5560H AP信道优化实战:解决信号满格却卡顿

前阵子在某园区处理无线投诉时,我碰到一个很典型的场景:AP 装了一堆、信号显示也是满格,但视频会议就是动不动卡成 PPT。当时很多人第一反应是带宽不够,可跑到华三 AC WX5560H 上一看,控制器负载很低,出口带…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑