Best / Push notifications
Best open-source Push notifications
The best self-hosted push split in the c17.io catalog is ntfy for Apache-2.0 HTTP pub-sub (the published OneSignal path), Gotify when you want that MIT WebSocket inbox — /compare/ntfy-vs-gotify, Healthchecks when the job is a BSD-3-Clause cron ping rather than a phone push — /best/cron-job-monitoring, and Uptime Kuma when the job is a MIT status check rather than a message you send — /best/status-pages. This is not OneSignal's every journey, email, or SMS SKU. A broadcast list stays on /best/email-marketing. An in-app tour stays on /best/onboarding-product-tours.
Open the stackStart on Railway
Ranked picks
1
ntfyApache-2.0 HTTP pub-sub (34,916 stars in the catalog) — the c17 OneSignal path. /compare/ntfy-vs-gotify.
When to pick it: A PUT from a script to a phone you host.
34,916 stars in the catalog
2
GotifyMIT WebSocket inbox (16,101 stars in the catalog). /compare/ntfy-vs-gotify.
When to pick it: A server UI if ntfy is not the shape.
16,101 stars in the catalog
3
HealthchecksBSD-3-Clause cron pings already on /best/cron-job-monitoring. Not a phone push.
When to pick it: A dead-man's switch if OneSignal was the cron alert.
10,451 stars in the catalog
4
Uptime KumaMIT status checks already on /best/status-pages. Not a message API.
When to pick it: An HTTP check if the job was uptime, not a subscriber list.
92,564 stars in the catalog
How they compare
| Tool | License | Self-host | Best for |
|---|---|---|---|
| ntfy | Apache License 2.0 | Easy | A PUT from a script to a phone you host. |
| Gotify | MIT License | Easy | A server UI if ntfy is not the shape. |
| Healthchecks | BSD-3-Clause | Easy | A dead-man's switch if OneSignal was the cron alert. |
| Uptime Kuma | MIT License | Easy | An HTTP check if the job was uptime, not a subscriber list. |
Related pages
FAQ
- ntfy or Gotify?
- ntfy if you want the published OneSignal HTTP push. Gotify if you want that WebSocket inbox — /compare/ntfy-vs-gotify.
- Is this Mailchimp?
- A list stays on /best/email-marketing. This page is a push you send from a script.
- Is this WalkMe?
- A tour stays on /replace/walkme. This page is a notification.
- Are these free?
- ntfy is Apache-2.0. Gotify is MIT. Healthchecks is BSD-3-Clause. Uptime Kuma is MIT. You pay hosting. Template users never pay c17.
- How do I deploy it?
- Open /stacks/ntfy-push. Persist the data directory. Send one test PUT.
Stack of the Week
Get one stack a week that replaces a SaaS bill.