Stars
Forks
Watchers
Developer links
Ntfy
ntfy sends push notifications to your phone or desktop with a single curl command: publish a message to any topic and every subscriber receives it instantly, no signup or API key required. Over 31,000 GitHub stars and 106 releases since 2021 back a server supporting five priority levels mapped to distinct notification sounds and vibration patterns, emoji tags for visual classification, click actions that open URLs when tapped, and up to three action buttons per notification for view, HTTP callback, broadcast, or clipboard copy operations. File attachments push images from surveillance cameras, documents, or any binary payload directly to mobile devices. Subscriptions work through JSON streams, Server-Sent Events, WebSockets, or raw text, with server-side filtering by priority, tags, and message ID. Authentication enforces topic-level access control through Basic Auth, Bearer tokens, or query parameters, with a built-in user and ACL management system. UnifiedPush compatibility lets ntfy serve as a push distributor for Mastodon, Matrix, and other federated services. Web Push via VAPID keys delivers browser notifications without the mobile app. The server ships as a single statically linked Go binary or Docker image supporting amd64, armv7, and arm64 architectures, consuming 30-50 MB RAM at idle with SQLite-backed message caching. Integrations include Grafana, Prometheus Alertmanager, Uptime Kuma, Home Assistant, and Ansible Semaphore. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache 2.0 / GPLv2 dual-licensed.
Benefits
- Zero-Signup HTTP Push Notifications
- Send notifications with a single curl command — no accounts, no API keys, no SDKs required. Topics are created on the fly by publishing or subscribing to them.
- Cross-Platform Mobile and Desktop
- Native Android app on Google Play and F-Droid, iOS app on the App Store, web UI with desktop browser notifications via Web Push VAPID, and CLI client for scripted subscriptions.
- UnifiedPush Distributor Compatibility
- Serves as a UnifiedPush distributor for Android apps, enabling push notifications for Mastodon, Matrix Element, FluffyChat, and other federated services without Google Firebase dependency.
- Lightweight Single Go Binary
- The entire server compiles to one statically linked binary consuming 30-50 MB RAM at idle, with SQLite-backed message caching and support for amd64, armv7, and arm64 architectures.
Features
- Priority and Action Buttons
- Five priority levels with mapped notification sounds, up to three action buttons per message for view, HTTP callback, broadcast, or clipboard copy, and emoji tag classification.
- File Attachments
- Attach files directly via PUT upload or reference external URLs with the X-Attach header, delivering images, documents, and binary payloads to mobile devices instantly.
- Scheduled Delivery
- Delay message delivery using natural language timestamps or Unix epoch values, enabling scheduled alerts, reminders, and time-sensitive automation workflows.
- Multiple Subscription Protocols
- Subscribe via JSON streams, Server-Sent Events, WebSockets, or raw text, with server-side filtering by priority, tags, message ID, and polling mode for cached messages.
- Authentication and ACLs
- Topic-level access control via Basic Auth, Bearer tokens, or query parameters, with built-in user management, token generation, and configurable default access policies.