Gotify Logo

OpenSource Benachrichtigungsserver

Viele Leser kennen sicher Telegram, Discord, Matrix, Pushover, Ntfy, die Nachrichten von wichtigen Ereignissen an ein Smartphone senden. Man kann sicher E-Mail benutzen, nur ist das nicht mehr State of the Art im Jahr 2023 und ist sicher nur in bestimmten Anwendungsfällen sinnvoll anwendbar.

Wie wäre es, einen eigenen Benachrichtigungsserver ( Notification Server ), der OpenSource ist, mit Docker zu betreiben?

Es gibt eine Lösung und die nennt sich „Gotify“ als OpenSource Projekt.

  • Weboberfläche zum Administration
  • Weboberfläche zum senden und empfangen von Nachrichten
  • Eine CLI für Command Line Eingaben
  • Eine Android App zum empfangen und senden von Nachrichten
  • Erweiterungen per Plugins möglich
  • Docker Image vorhanden
  • REST-API / Swagger
  • gotify/server-arm7 für Raspberry Pi
  • gotify/server-arm64 für ARM64 Prozessoren

Installation mit Docker

Starten wir die Installation mit Docker und erstellen eine Datei : docker-compose.yml

version: "3"

services:
  gotify:
    image: gotify/server
    ports:
      - 8080:80
    environment:
      - GOTIFY_DEFAULTUSER_PASS=custom
    volumes:
      - "./gotify_data:/app/data"

# Jetzt starten für den Docker Container
docker-compose up -d

# Bei Einsatz mit einem Raspberry Pi bitte folgendes Image benutzen:
image: gotify/server-arm7 

# Bei Einsatz mit einem Raspberry Pi 4 bitte folgendes Image benutzen:
image: gotify/server-arm64 

Starte den Webbrowser mit „http://<Docker-IP>:8080“ es sollte nun folgende Webseite angezeigt werden:

Gotify-Login
Gotify-Login

Es sollte diese Login-Seite anzeigen, wenn alles richtig installiert ist.
Die Anmeldung erfolgt mit Username : admin und Password: admin

Rufe nun das Menü „Apps“ auf und klicke auf „Create Application“. Dort einen Namen vergeben, wie z.B. „Benachrichtigung“. Zu dem Namen wird ein Zufallstoken erstellt. Dieser wird für die weitere Vorgehensweise mit „curl“ und „NodeRED“ benötigt.

Gotify Token
Gotify Token

Das folgende Beispiel zeigt, wie man eine Nachricht an Gotify mit „curl“ sendet:

curl "http://<Docker-IP>/message?token=AfrXgZ78lPM" -F "title=Serverstatus" -F "message=Server down" -F "priority=1"

curl "http://<Docker-IP>/message?token=AfrXgZ78lPM" -F "title=Serverstatus" -F "message=Server up" -F "priority=1"

curl "http://<Docker-IP>/message?token=AfrXgZ78lPM" -F "title=SmartHome" -F "message=Das Fenster wurde geoeffnet" -F "priority=1"

Der Anwendungbereich für einen "curl" Aufruf ist vielseitig und kann in allen möglichen Fällen angewendet werden. 

 

Der Einsatz von NodeRED im SmartHome Umfeld ist ebenfalls sehr attraktiv. Ereignisse werden als Nachrichten übermittelt wie zum Beispiel: „Die Terrassentüre wurde geöffnet“ oder „Die Waschmaschine ist fertig“ wenn sie von Sensoren erkannt werden. Das hat den Vorteil, dass sehr private Nachrichten gesendet werden können, ohne dass das Internet oder ein Provider die Daten mitliest, wenn diese im lokalen Netzwerk versendet werden.

Einrichtung mit NodeRED

Für die Einrichtung mit NodeRED wird das Plugin „nr-gotify“ benötigt. Dieses bitte über die NodeRED Weboberfläche hinzufügen und installieren:  https://flows.nodered.org/node/nr-gotify

Ist dieses erfolgt kann der Beispiel Flow in NodeRED importiert werden:

https://git.unixweb.net/joachim/gotify-nodered

Nach erfolgreichen Import sollte dieser Flow sichtbar sein.  Im grünen Flow „Date/Time“ muss  der vorher erstellte Token hinzugefügt werden. Die URL für Gotify muss ebenfalls entsprechend hinzugefügt werden, wie z.B. http://<Docker-IP>:8080/  ACHTUNG: Wichtig ist dass am Ende der URL ein Slash „/“ stehen muss, sonst funktioniert die Übergabe der Message von NodeRED an Gotify nicht!

Gotify

Sende nun Nachrichten an Gotify, wenn der Flow erfolgreich importiert und konfiguriert wurde.

Für Android gibt es hier eine App die im Google Play Store zum herunterladen gibt:
https://play.google.com/store/apps/details?id=com.github.gotify&hl=de&gl=US

Für Android Clones z.B. Huawei ohne Google gibt es hier den Download:
https://f-droid.org/de/packages/com.github.gotify/
https://github.com/gotify/android/releases/tag/v2.4.0

Bei Fragen, wie immer die Kommentarfunktion bitte nutzen.

 

Joachim

Aus Leidenschaft für Technik. Aktuelle Themen sind Datensicherheit, Software für Datenschutz, Mobile Geräte, Smartphone Sicherheit und Anwendungen, Raspberry Pi Geek.

Alle Beiträge ansehen von Joachim →

Ein Gedanke zu “OpenSource Benachrichtigungsserver

  1. Wow. Das ist ja mal eine coole Idee. Mich hat es bis jetzt immer abgeschreckt, wichtige Daten per Mail zu versenden. Aber das wird mein Projekt für die nächste Woche.
    Vielen Dank!

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert