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. 1

    ntfy

    Apache-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. 2

    Gotify

    MIT 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. 3

    Healthchecks

    BSD-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. 4

    Uptime Kuma

    MIT 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

ToolLicenseSelf-hostBest for
ntfyApache License 2.0EasyA PUT from a script to a phone you host.
GotifyMIT LicenseEasyA server UI if ntfy is not the shape.
HealthchecksBSD-3-ClauseEasyA dead-man's switch if OneSignal was the cron alert.
Uptime KumaMIT LicenseEasyAn 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.

Sponsor this page