finds.dev← search

// the find

binwiederhier/ntfy

★ 30,730 · Go · Apache-2.0 · updated Jun 2026

Send push notifications to your phone or desktop using PUT/POST

ntfy is a pub-sub notification service that lets you send push notifications to phone or desktop via plain HTTP PUT/POST — no account needed for the hosted version, and trivially self-hostable. It's for developers who want a dead-simple way to get alerts out of scripts, cron jobs, CI pipelines, or any system that can make an HTTP request. The API is genuinely zero-friction: `curl -d 'backup done' ntfy.sh/my-topic` and your phone buzzes.

The HTTP API is as minimal as it gets — topics are just URL paths with no setup, no schemas, no registration required for basic use. Self-hosting is first-class: single Go binary, SQLite by default, Postgres available, Docker image provided, systemd unit included. The server supports both SSE and WebSocket for subscribers, which means you can subscribe from a browser with a single EventSource line or from any WebSocket client. Attachment support backed by either local filesystem or S3, with a clean interface abstraction — swapping backends doesn't touch the message layer.

Topics are public by default on ntfy.sh — anyone who guesses your topic name can read your notifications, so security is entirely the user's responsibility (access control requires self-hosting and configuration). The message cache is SQLite in the default path, which will become a bottleneck fast if you're self-hosting with high publish rates and many subscribers; the Postgres cache backend is there but you have to explicitly opt in. No end-to-end encryption — messages are stored and transmitted in plaintext, so it's not suitable for anything sensitive without wrapping it yourself. The web app is a React SPA that feels bolted on rather than integral — it covers the basics but the UX for managing multiple topics and access control is rougher than the CLI experience.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →