Push-Benachrichtigungen vom eigenen Server aufs Smartphone zu senden, war lange umständlich: Pushover verlangt eine einmalige Gebühr, Firebase Cloud Messaging erfordert Google-Infrastruktur, und selbst einfache Lösungen benötigten komplizierte API-Setups. Ntfy (ausgesprochen "notify") löst dieses Problem radikal einfach: Eine HTTP-Anfrage mit beliebigem Text genügt, um eine Benachrichtigung aufs Telefon zu senden.
Was ist Ntfy?
Ntfy ist ein Open-Source-Publish-Subscribe-Benachrichtigungsdienst, entwickelt von Philipp Heckel und in Go geschrieben. Das Konzept ist denkbar einfach: Topics (Themen) funktionieren wie Kanäle. Wer auf ein Topic publiziert, sendet eine Nachricht; wer ein Topic abonniert, empfängt sie. Kein Account erforderlich, keine API-Keys für den Einstieg, keine komplizierte Konfiguration.
Das Projekt ist vollständig quelloffen und auf GitHub verfügbar. Es gibt einen kostenlosen öffentlichen Server unter ntfy.sh sowie die Möglichkeit, eine vollständige eigene Instanz zu betreiben.
Nachricht senden per HTTP – so einfach geht's
Das Senden einer Benachrichtigung ist buchstäblich eine Zeile:
curl -d "Backup erfolgreich abgeschlossen" ntfy.sh/mein-server-alerts
Alternativ mit HTTP PUT:
curl -X PUT -d "Festplatte fast voll: 95%" ntfy.sh/mein-server-alerts
Das Topic mein-server-alerts ist frei wählbar. Jeder, der dieses Topic abonniert, empfängt die Nachricht. Für private Benachrichtigungen sollte man einen langen, zufälligen Topic-Namen verwenden oder besser: eine eigene Instanz betreiben.
Nachrichten mit Priorität, Tags und Icons
Ntfy unterstützt HTTP-Header für zusätzliche Metadaten. Damit lassen sich Benachrichtigungen gezielt gestalten:
curl \
-H "Title: Kritischer Fehler" \
-H "Priority: urgent" \
-H "Tags: warning,server" \
-d "Der Dienst nginx ist nicht mehr erreichbar." \
ntfy.sh/mein-server-alerts
Verfügbare Prioritätsstufen sind min, low, default, high und urgent. Urgent-Nachrichten umgehen auf Android den "Nicht stören"-Modus. Tags entsprechen Emoji-Aliasen (z. B. warning → ⚠️) und werden in der App angezeigt.
Subscribe: App, Web-UI und HTTP-Streaming
Nachrichten empfangen geht auf mehrere Wege:
- Android-App: Verfügbar im Play Store und bei F-Droid. Topics hinzufügen und Benachrichtigungen empfangen – auch ohne Google Play Services über F-Droid möglich.
- iOS-App: Verfügbar im App Store, nutzt APNs für die Zustellung.
- Web-UI: Browser auf ntfy.sh öffnen, Topic eingeben, Nachrichten werden in Echtzeit angezeigt.
- HTTP-Streaming (SSE):
curl -s ntfy.sh/mein-topic/sse– für Skripte und automatisierte Verarbeitung.
Self-Hosting mit Docker
Eine eigene Ntfy-Instanz ist mit Docker in einer Minute eingerichtet:
docker run -p 80:80 -v /var/lib/ntfy:/var/lib/ntfy -d binwiederhier/ntfy serve
Für den Produktivbetrieb empfiehlt sich eine Konfigurationsdatei unter /etc/ntfy/server.yml, in der Authentifizierung, HTTPS, Attachment-Speicher und Nachrichtenaufbewahrung konfiguriert werden. Mit aktivierter Authentifizierung können Topics mit Passwörtern geschützt werden, sodass nur autorisierte Clients Nachrichten senden oder empfangen dürfen.
server.yml, bevor ihr euren ntfy-Server öffentlich erreichbar macht. Legt Nutzer mit ntfy user add an und vergebt Topic-Berechtigungen.
Ntfy.sh: Kostenloser öffentlicher Server
Für schnelle Tests und nicht-sensible Benachrichtigungen ist ntfy.sh ideal. Der Server ist kostenlos, ohne Account nutzbar und speichert Nachrichten für 12 Stunden (oder bis zu 4096 Nachrichten pro Topic). Das Rate-Limit liegt bei 60 Nachrichten pro Minute pro Besucher – für Server-Alerts mehr als ausreichend.
Anwendungsfälle in der Praxis
Ntfy ist besonders wertvoll für Automatisierungen und Server-Skripte. Typische Einsatzszenarien:
- Cron-Job-Benachrichtigungen: Am Ende eines Backup-Scripts eine Erfolgsmeldung oder Fehlermeldung senden.
- CI/CD-Pipelines: Build-Ergebnis aus GitHub Actions, GitLab CI oder Jenkins direkt aufs Telefon.
- Heimautomatisierung: Home Assistant, Node-RED oder ioBroker senden Alarme über ntfy.
- Überwachungsskripte: Festplattenauslastung, hohe CPU-Last oder Netzwerkausfälle melden.
Vergleich: Ntfy vs. Pushover vs. Gotify vs. Apprise
| Dienst | Self-Hosted | Kosten | API-Einfachheit | Android-App | iOS-App | Ohne Account nutzbar |
|---|---|---|---|---|---|---|
| Ntfy | Ja (optional) | Kostenlos | Sehr einfach (curl) | Ja (inkl. F-Droid) | Ja | Ja |
| Pushover | Nein | 5 $ einmalig je Plattform | Einfach (API-Key) | Ja | Ja | Nein |
| Gotify | Ja (erforderlich) | Kostenlos | Einfach (Token) | Ja | Nein (inoffiziell) | Nein |
| Apprise | Ja (optional) | Kostenlos | Mittel (CLI/Library) | Nein (keine eigene App) | Nein | Ja (als Aggregator) |
Ntfy überzeugt durch die einfachste API aller verglichenen Lösungen und die Kombination aus Self-Hosting-Option und öffentlichem Server. Gotify ist ebenfalls eine gute Self-Hosted-Wahl, hat aber keine iOS-App. Pushover punktet durch Zuverlässigkeit und polierte Apps, erfordert aber eine einmalige Zahlung.
FAQ
- Wie privat sind Nachrichten auf ntfy.sh?
- Topics auf ntfy.sh sind nicht verschlüsselt und für jeden lesbar, der den Topic-Namen kennt. Verwendet lange, zufällige Topic-Namen oder – für sensible Daten – eine eigene Instanz mit Authentifizierung.
- Kann Ntfy Nachrichten zeitverzögert zustellen?
- Ja, über den Header
Delaykönnen Nachrichten zu einem späteren Zeitpunkt zugestellt werden. Das ist z. B. nützlich für zeitgesteuerte Erinnerungen aus Skripten. - Funktioniert Ntfy auch ohne Internetverbindung im lokalen Netz?
- Ja, eine eigene Instanz im Heimnetz funktioniert lokal ohne Internetverbindung. Die Android-App kann auf lokale Server umgestellt werden.
- Wie viele Nachrichten kann ich pro Tag senden?
- Auf ntfy.sh liegt das Limit bei 250 Nachrichten pro Tag ohne Account. Mit einer eigenen Instanz gibt es kein Limit – ihr seid nur durch eure eigene Hardware eingeschränkt.
Fazit
Ntfy ist das eleganteste Werkzeug für Push-Benachrichtigungen in Automatisierungsprojekten. Die API ist so einfach, dass sie in jedem Shell-Skript ohne zusätzliche Abhängigkeiten funktioniert. Wer Wert auf Datenschutz legt, betreibt eine eigene Instanz; für schnelle Tests reicht ntfy.sh vollkommen aus. Für Serverbetreiber, Homelab-Enthusiasten und Entwickler ist ntfy ein unverzichtbares Werkzeug im Toolkit.