Running in production · Edition No. 7 · 1 Sep 2026

binwiederhier/ntfy

Push notification to your phone from one line of curl — the missing last step of every alert and long job in this ledger.

← Running in productionRead the whole edition →

34.1k stars · Apache-2.0 · v2.28.0 (2026-08-27)

Push notification to your phone from one line of curl — the missing last step of every alert and long job in this ledger.

Repo detailsthe review · specs · pros & cons · install

What it is

A tiny publish–subscribe notification service. Any script sends an HTTP POST to a topic URL, and the message appears as a push notification on your phone or in a browser tab. There is a free public server and a self-hosted single Go binary; the mobile apps are on both stores.

Why it matters

Count the things in this ledger that end with "and then it tells you": Uptime Kuma when the site is down, Bugsink when a new error appears, RSSHub and n8n when somebody on Reddit asks the question Grasppy answers, Procrastinate when a three-hour backtest sweep finishes. Every one of them currently ends in an email you will read tomorrow or a dashboard you will not open. This is the two-minute fix that turns all of them into a phone buzz — and for the Reddit case the difference between arriving first and arriving on page four is measured in hours. It is the wildcard because it is not a marketing tool in itself; it is the thing that makes the marketing tools you already have actually reach you.

Stars34.1k
LicenceApache-2.0
Latestv2.28.0 (2026-08-27)checked 7 Sep 2026
Written inGo
RunsSelf-hosted on your own server
Setup effort
1 / 5
Payoff
4 / 5
Good
  • Absurdly simple to use: curl -d "message" ntfy.sh/your-topic is the whole integration, from any language or shell script
  • Uptime Kuma has it as a built-in notification target, so wiring 01 to your phone is a dropdown, not a project
  • Self-hostable as one small Go binary if you want the messages off the public server, which you eventually will
Watch for
  • On the public server, a topic name is the password. Anyone who guesses it can read or post to it — use a long random topic, and self-host before anything sensitive goes through it
  • Self-hosting iOS push reliably is the fiddly part of an otherwise trivial tool; the Android path is much smoother
  • Notifications are habit-forming in the wrong direction. Send only what you would genuinely stop filming for — three topics, not thirty
Install
# subscribe to a topic in the phone app, then from anywhere:
curl -d "Grasppy ingest finished: 412 nodes" \
  ntfy.sh/grasppy-a7f3k9x2

Get the next edition in your inbox

A dozen repositories, opened and checked. The licence read, the last release dated, and the ones that did not make it named with the reason. It is the half most lists leave out.

No tracking pixels. One click to leave. The archive stays free either way.

We use your address to send the edition and nothing else. Confirm by email, leave in one click. How we handle it.