← 工具

Boop

开源自托管开发者通知收件箱,单 Go 二进制 + SQLite 文件 + Docker 一行启动。APNs 直推 iOS 通知,多项目独立 API Key 隔离、无 relay / 账号 / 遥测,出海独立开发者用手机接收 SaaS 告警和部署状态的零成本选择,Stars 581。

#122
推荐排名
581
GitHub Stars
627
推荐得分
开发者通知收件箱 / 自托管告警推送
适用场景
开发工具运维自托管APIGo部署

为什么需要

出海做产品的独立开发者跑多个 SaaS 项目,每个都有告警、部署状态、备份结果要监控。N8N / ntfy.sh 能聚合通知但部署重,短信 / 邮件推送对个人开发者又贵又慢。Boop 是一个单 Go 二进制的自托管通知收件箱,APNs 直推 iOS 通知,零成本,适合一人公司。

最实用的能力是「per-project API Key 隔离」—— 多个 SaaS 项目各自一个 Key 推送,事件按项目分组查看,iOS app 上独立归类。海外 iOS 推送基础设施(APNs)延迟低、送达率高,比邮件或 Telegram bot 更适合做生产告警通道。

怎么用

Docker 一行启动:

bash
git clone https://github.com/chrisgreg/boop && cd boop
cp .env.example .env
mkdir -p data && chown 1000:1000 data
docker compose up -d --build

打开 http://localhost:8080,首次进入 setup wizard:服务器检查、APNs 配置、扫描 iOS app 配对码、创建第一个项目、测试通知。APNs 凭据可选,没配就只在 web UI 看,配了就推送到 iPhone。

调用 API 推送事件:

bash
curl http://localhost:8080/api/v1/events \
  -H "Authorization: Bearer boop_proj_..." \
  -H "Content-Type: application/json" \
  -d '{"title": "Deploy complete", "level": "success"}'

核心特性

  • APNs 直推 — 用你的 .p8 key 直接推 Apple Push Notification,没有第三方 relay,iOS 送达率最高
  • per-project API Key — 每个项目独立 Key,多 SaaS 通知按项目分组隔离
  • 单 Go 二进制 — 静态编译,零依赖,Linux / macOS / Windows 三个平台打包好
  • SQLite 存储 — 单文件存储,备份就是 cp boop.db 一条命令
  • iOS app 开源 — SwiftUI 写的 iOS 26 app,自己 build 和 sign
  • 零账号零遥测 — 没有托管服务、没有账号系统、没有 telemetry
  • 数据本地 — 事件和设备凭据全在自有 SQLite,敏感告警不出服务器
  • 嵌入 Web UI — Svelte 写的管理界面编译进二进制,浏览器管项目、看事件

使用案例

独立开发者运营 3 个出海 SaaS(分别是 SaaS A、SaaS B、SaaS C),每个都需要监控告警。部署 Boop 后:

  • SaaS A 部署完成 → POST 事件 → iPhone 推送 "Deploy A complete"
  • SaaS B 数据库备份失败 → POST 事件(level=error)→ iPhone 推送红色告警
  • SaaS C Stripe webhook 出错 → POST 事件 → iPhone 推送

3 个项目的通知在 iOS app 上独立分组,重要告警靠 APNs 推送直达,普通状态在 web UI 查看。整个系统自托管,单 VPS 单进程,零外部依赖。

注意事项

  • MIT 协议开源,可商用
  • iOS app 需要自己 build 和 sign(不提供 App Store 安装)
  • APNs 需要 Apple Developer 账号($99/年)才能推送 iOS 通知,但 web UI 永远可用
  • SQLite 单文件存储,事件量大建议定期归档
  • 与 ntfy.sh 对比:ntfy.sh 通用通知(多渠道),Boop 专注 iOS APNs + 多租户隔离
  • 与 N8N 对比:N8N 是通用工作流自动化,Boop 是专用通知收件箱(更轻量)