Skip to content
OpenSourceSoftware.ai

GitHub stars

35,203
—Awaiting first sync

Awaiting first sync

No measured star history yet

What is ntfy?

ntfy turns an ordinary HTTP request into a push notification. A script, monitoring tool or application posts a message to a topic, and the people subscribed to that topic receive it on their phone or desktop. The server is a small Go program that a team can run on its own hardware, and the same project runs the public ntfy.sh service.

ntfy is a publish-subscribe notification service. A script, server or app sends a message to a topic with an HTTP PUT or POST, and everyone subscribed to that topic receives it in the Android or iOS app or as a desktop notification. It can be self-hosted or used through the public ntfy.sh service.

Core capabilities

  • Send notifications from any script or tool with one HTTP request, with no SDK needed.
  • Receive alerts on Android, iOS and desktop with priorities, action buttons and attachments.
  • Restrict topics with user accounts, access rules and access tokens on your own server.

Send alerts from anything that can make a web request

Topics are created the moment someone publishes to them, so a curl command, a CI pipeline or a monitoring tool can start sending without setup. Messages can carry priorities, tags, emojis, action buttons and file attachments. Subscribers receive them in the Android and iOS apps or as desktop notifications through the web app, and the server can also forward notifications by email and accept messages sent to it by email.

  • HTTP API
  • Push notifications
  • Mobile apps
  • Email

Run your own server under Apache-2.0 or GPLv2

The server ships as Linux binaries, Debian and RPM packages, a Windows build and a Docker image for amd64 and ARM, with Kubernetes manifests in the docs. A user database adds accounts, per-topic access rules and access tokens, and attachments can be kept on disk or in S3 storage. For instant delivery to iPhones, a self-hosted server relays a short poll request through ntfy.sh. The code is dual licensed under the Apache License 2.0 and GPLv2, and the paid ntfy Pro plans apply only to the hosted ntfy.sh service.

  • Self-hosted
  • Docker
  • Apache-2.0
  • GPLv2
  • Access control

Where it fits

Use cases

  1. 01

    Get alerted when a backup or job fails

    Add a curl command to a cron job or backup script that posts a message to a topic when something goes wrong. Subscribe to that topic in the ntfy phone app so the right person hears about it straight away.

  2. 02

    Send monitoring alerts to the on-call phone

    Point tools such as healthchecks.io, changedetection.io, Home Assistant or GitHub Actions at your ntfy server. Give urgent messages a high priority so they sound and vibrate differently from routine updates.

  3. 03

    Run a private alert server for the team

    Install ntfy from the Debian package or the Docker image, set the default access to deny-all, and create users and topic permissions with the ntfy user and ntfy access commands. Give each script its own access token so only approved systems can publish.