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