Favicon of ntfy

ntfy

ntfy is an open-source HTTP pub-sub service for sending push notifications via curl, scripts, or apps, self-hostable in Go.

Open Source Alternative to:
ntfy website screenshot
ntfy GitHub repository preview

ntfy (pronounced "notify") is a simple HTTP-based pub-sub notification service. It lets you send push notifications to your phone or desktop from any script or computer using a plain PUT or POST request, without creating an account or paying anything. It's built for developers, sysadmins, and anyone who wants notifications from scripts, cron jobs, monitoring tools, or home automation setups, and it's fully open source, so you can self-host it if you don't want to rely on the public ntfy.sh instance.

You subscribe to a "topic" (just a name you pick) on your phone or desktop, then publish a message to that topic from anywhere using curl or an HTTP client. Anyone who knows the topic name can subscribe or publish, which makes setup trivial, though you can also lock things down with authentication if you self-host.

Key features

  • HTTP-based pub-sub: publish notifications with a single PUT or POST request, subscribe over HTTP, WebSocket, or Server-Sent Events.
  • No signup required: use the public ntfy.sh service anonymously by picking a topic name.
  • Self-hostable server: the ntfy server is written in Go and can be run on your own infrastructure under the Apache-2.0 license.
  • Native mobile apps: open-source Android app (Google Play, F-Droid) and iOS app (App Store) for receiving notifications on your phone.
  • Web app and CLI: subscribe and manage topics through a web UI or interact with the service via the command line.
  • REST API: a documented HTTP API for publishing and subscribing, usable from any language that can make HTTP requests.
  • Attachments and priorities: messages support things like attachments, click actions, and priority levels beyond plain text (see the docs for the full publish API).
  • Paid hosted plans: optional paid tiers on ntfy.sh for people who don't want to self-host but want more features or to support development.

Ideal use cases

  • Script and cron job alerts: get notified on your phone when a backup finishes, a build fails, or a long-running job completes.
  • Server and homelab monitoring: pair with health checks or monitoring tools to push alerts when something goes down.
  • Home automation notifications: trigger a push notification from a Raspberry Pi, Home Assistant, or IoT device without building a mobile backend.
  • Lightweight app notifications: add push notifications to a small project without integrating a full push notification SDK or third-party service.
  • Not a fit if you need guaranteed delivery, message persistence guarantees, or enterprise-grade message queuing; ntfy is a lightweight notification layer, not a full message broker or job queue.
  • Not a fit if topic names being guessable is a security concern for your use case and you're not willing to add authentication or self-host with access controls.

Installation

The quickest way to try ntfy is to use the public service at ntfy.sh: subscribe to a topic from the Android/iOS app or web app, then publish with curl:

curl -d "Backup successful \U0001F60E" ntfy.sh/mytopic

To self-host, install the ntfy server on your own machine. Full install instructions (binaries, Docker, package managers) are in the docs, but a typical Docker-based setup looks like:

docker run -p 80:80 -it binwiederhier/ntfy serve

Or run the compiled binary directly after downloading a release for your platform, then start the server:

ntfy serve

For building from source, clone the repo and use the Go toolchain along with the project's Makefile, as described in the "Building" section of the documentation. Full details on installation options, configuration, authentication, and the publish/subscribe API are at ntfy.sh/docs.

Frequently asked questions

Share:

Stars
33.7K
Forks
1.6K
Last commit
5 days ago
Repository age
5 years
License
Apache-2.0
Self-hosted
Yes
Activity score
83/100
View Repository
Ad
Favicon

 

  
 

Similar to ntfy

Favicon

 

  
 
Favicon

 

  
 
Favicon