Zur Übersicht

Ntfy: Push-Benachrichtigungen per HTTP einfach selbst hosten

Ntfy sendet Push-Notifications per einfachem HTTP-Request. Self-hosted mit Docker, kostenloser öffentlicher Server ntfy.sh, Android- und iOS-App inklusive.

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

Message 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 Message. Für private Benachrichtigungen sollte man einen langen, zufälligen Topic-Namen verwenden oder besser: eine eigene Instanz betreiben.

Messageen 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

Availablee Prioritätsstufen sind min, low, default, high und urgent. Urgent-Messageen umgehen auf Android den "Nicht stören"-Modus. Tags entsprechen Emoji-Aliasen (z. B. warning → ⚠️) und werden in der App angezeigt.

Tipp: Ntfy unterstützt auch das Senden von Anhängen (Bilder, Dateien bis 15 MB) sowie Click-Actions – die Benachrichtigung kann beim Antippen eine URL öffnen oder einen HTTP-Request auslösen. Das ist z. B. nützlich, um direkt aus der Benachrichtigung einen Dienst neu zu starten.

Subscribe: App, Web-UI und HTTP-Streaming

Messageen empfangen geht auf mehrere Wege:

  • Android-App: Available 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: Available im App Store, nutzt APNs für die Zustellung.
  • Web-UI: Browser auf ntfy.sh öffnen, Topic eingeben, Messageen 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 Messageenaufbewahrung konfiguriert werden. Mit aktivierter Authentifizierung können Topics mit Passwörtern geschützt werden, sodass nur autorisierte Clients Messageen senden oder empfangen dürfen.

Achtung: Ohne Authentifizierung sind alle Topics auf eurem Server öffentlich lesbar und beschreibbar. Aktiviert unbedingt die Authentifizierung in der 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 Messageen für 12 Stunden (oder bis zu 4096 Messageen pro Topic). Das Rate-Limit liegt bei 60 Messageen 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 Messageen 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 Messageen zeitverzögert zustellen?
Ja, über den Header Delay können Messageen 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 Messageen kann ich pro Tag senden?
Auf ntfy.sh liegt das Limit bei 250 Messageen 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 Privacy legt, betreibt eine eigene Instanz; für schnelle Tests reicht ntfy.sh vollkommen aus. Für Serverbetreiber, Homelab-Enthusiasten und Developer ist ntfy ein unverzichtbares Werkzeug im Toolkit.

Arthur Hardy Kotsch
Über den Autor
Arthur Hardy Kotsch

Gründer der Softwaremarke Kotsch.Tech, B.Eng. Digital Engineering, aktuell im MBA-Studium Production Management (TU Chemnitz). Entwickelt 34 Apps im Apple App Store sowie Android apps, Windows-Programme und Web-Anwendungen.