Heise 20.07.2026
11:41 Uhr

Gotify 3.0.0: Push-Nachrichten selbst hosten


Gotify 3.0.0 führt OpenID Connect für die Anmeldung ein, verschärft den Umgang mit API-Token und überarbeitet die Konfiguration.

Gotify 3.0.0: Push-Nachrichten selbst hosten

Mit Gotify 3.0.0 erhält der selbst gehostete Benachrichtigungsdienst eine Anmeldung über OpenID Connect (OIDC), zusätzliche Absicherung für sensible Aktionen in der Weboberfläche und eine umfassend überarbeitete Konfiguration. Das Major-Release verändert zugleich mehrere Schnittstellen und Konfigurationswege, sodass Administratoren ihre Installationen vor dem Upgrade prüfen sollten.

Gotify ist ein Open-Source-Server zum Versenden von Push-Nachrichten an eigene Clients und Anwendungen. Der Dienst richtet sich vor allem an Administratoren und Entwickler, die Benachrichtigungen aus Skripten, Monitoring-Systemen oder eigenen Anwendungen ohne externe Push-Plattform betreiben wollen. Clients abonnieren dabei Anwendungen auf einem Gotify-Server und erhalten deren Nachrichten per API.

Die wichtigste neue Funktion ist die Unterstützung für OpenID Connect. Damit kann Gotify Nutzer über einen externen Identity Provider anmelden, etwa über Keycloak, authentik oder einen Unternehmens-Login, der OIDC bereitstellt. OIDC baut auf OAuth 2.0 auf und liefert der Anwendung zusätzlich eine standardisierte Identität des angemeldeten Nutzers.

In diesem Workshop lernen Sie, wie Sie Keycloak als Identity Provider implementieren, konfigurieren und in Dienste und Anwendungen integrieren, um Benutzer zu authentifizieren und per SSO an verschiedenen Web-Anwendungen anzumelden.

Anmeldung und Termine: https://heise.de/s/MexG5

Das vereinfacht den Betrieb in Umgebungen, die bereits zentrale Benutzerkonten und Single Sign-on einsetzen. Statt separate Gotify-Passwörter zu verwalten, können Administratoren den Zugriff an den vorhandenen Identity Provider anbinden. Laut Release Notes haben die Entwickler im Zuge dieses Updates auch mehrere Sicherheitsprobleme behoben.

Für besonders kritische Änderungen führt Gotify zudem eine „Session Elevation“ ein. Für sensible Änderungen in der Weboberfläche müssen angemeldete Nutzer ihre Identität erneut bestätigen. Das soll verhindern, dass ein bereits geöffneter Login für kritische Eingriffe missbraucht wird. Auch Skripte, die Endpunkte für Client-Tokens aufrufen, können davon betroffen sein und müssen gegebenenfalls angepasst werden.

Die neue Version verschärft außerdem den Umgang mit Zugangstoken. Gotify zeigt API-Token künftig nur noch beim Erstellen oder Erneuern an. Bereits angelegte Token lassen sich anschließend nicht mehr über die API auslesen. Das reduziert das Risiko, dass ein Token versehentlich über API-Antworten, Protokolle oder eine kompromittierte Verwaltungsoberfläche preisgegeben wird.

Ergänzend speichert der Server Tokens nicht mehr im Klartext. Der verfügbare Schlüsselraum für Token steigt laut Changelog auf mehr als 128 Bit. Neu ist außerdem, dass Anwendungen eigene Token aktualisieren können. Nachrichten lassen sich nun auch mit einem Client-Token versenden.

Inaktive Clients und Sitzungen räumt der Server künftig automatisch auf. Das soll veraltete Einträge aus der Instanz entfernen und die Zahl unnötig fortbestehender Sitzungen begrenzen. Für die Weboberfläche verwendet Gotify zudem HTTP-only-Cookies statt Local Storage. Solche Cookies kann JavaScript im Browser nicht direkt auslesen, was den Schutz gegen den Abfluss von Sitzungsdaten bei Cross-Site-Scripting-Angriffen verbessert.

Ein Breaking Change betrifft die Konfiguration: Die Datei config.yml wird nicht mehr unterstützt. Stattdessen muss man ihre Einstellungen in das neue Umgebungsvariablen-Format überführen. Dafür liefert das Projekt mit gotify migrate-config ein eigenes Kommando mit; zugleich führt Version 3 eine CLI mit den Befehlen gotify serve, gotify version und gotify migrate-config ein.

Wer Listen oder Maps über Umgebungsvariablen setzt, muss ebenfalls die geänderte Syntax berücksichtigen. Auch API-Clients sollten überprüft werden: Die URL im Feld paging.next von Antworten mit Nachrichtenlisten ist nun ein relativer Pfad statt einer vollständigen URL. Clients müssen ihn daher relativ zur Serveradresse auflösen.

Weitere Änderungen betreffen vor allem den Betrieb: Das Logging setzt jetzt auf zerolog, Docker-Images enthalten OCI-Labels, und für Tests mit noch nicht veröffentlichtem Code stellt das Projekt ein Image mit dem Tag gotify/server:master bereit. Neue Zeitstempelfelder dokumentieren zudem die Erstellung von Nutzern, Clients, Anwendungen und Plugins.

(fo)