Einführung
Gotify ist ein quelloffener, selbst gehosteter Server zum Senden und Empfangen von Push-Benachrichtigungen. Er stellt eine einfache REST-API bereit, mit der Anwendungen, Skripte und Monitoring-Tools Benachrichtigungen an jedes Gerät senden können, auf dem die Gotify-Android-App oder ein Browser-Client läuft. In diesem Tutorial zeige ich dir Schritt für Schritt, wie du Gotify mit Docker auf einem Cloud Server mit Debian 13 installierst und deine erste Benachrichtigung über die API versendest.
Voraussetzungen
- 1 Server (z.B. bei Hetzner)
- Debian 13
- Zugriff auf den root-Benutzer oder einen Benutzer mit sudo-Rechten
Beispiel-Benennungen
- Benutzername:
holu - E-Mail:
email@example.com - Server:
<203.0.113.1>
Schritt 1 - Verbindung mit SSH herstellen
Erstelle zunächst einen SSH-Schlüssel auf deinem lokalen Rechner, falls du noch keinen hast:
ssh-keygen -t ed25519 -C "email@example.com"Dieser wird unter ~/.ssh/id_ed25519.pub gespeichert. Füge den Inhalt dieser Datei in der Hetzner Console unter "Sicherheit" » "SSH-Key hinzufügen" hinzu, damit du dich später mit deinem Server verbinden kannst.
Erstelle nun einen neuen Server in der Hetzner Console. Wähle dabei Debian 13 als Betriebssystem aus und füge den zuvor erstellten SSH-Key hinzu. Sobald der Server erstellt ist, erhältst du die IP-Adresse deines Servers.
Verbinde dich mit dem Server, indem du ein Terminal öffnest und den folgenden Befehl ausführst. Ersetze dabei 203.0.113.1 durch die tatsächliche IP-Adresse deines Servers:
ssh root@203.0.113.1 -p 22Schritt 2 - System aktualisieren
Nachdem du dich erfolgreich mit deinem Server verbunden hast, stelle sicher, dass das System auf dem neuesten Stand ist:
sudo apt update
sudo apt upgrade -yDiese Befehle aktualisieren die Paketliste und installieren die neuesten Versionen der Pakete auf deinem Server.
Schritt 3 - Docker installieren
Gotify wird in einem Docker-Container betrieben. Installiere Docker wie in der offiziellen Dokumentation erklärt mit den folgenden Befehlen:
# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: $(. /etc/os-release && echo "$VERSION_CODENAME")
Components: stable
Architectures: $(dpkg --print-architecture)
Signed-By: /etc/apt/keyrings/docker.asc
EOF
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -yNach der Installation kannst du überprüfen, ob Docker korrekt installiert wurde:
sudo systemctl status dockerWenn Docker erfolgreich installiert wurde, solltest du eine Ausgabe sehen, die anzeigt, dass der Docker-Dienst aktiv und laufend ist.
Klicke hier für einen Beispiel-Output
holu@example-server:~$ sudo systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; preset: enabled) Active: active (running) since Mon 2026-06-22 09:00:00 UTC; 10s ago TriggeredBy: ● docker.socket Docs: https://docs.docker.com Main PID: 1234 (dockerd) Tasks: 10 Memory: 28.5M (peak: 30.6M) CPU: 312ms CGroup: /system.slice/docker.service └─1234 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Wenn Docker nicht läuft, kannst du es mit dem folgenden Befehl starten:
sudo systemctl start dockerSchritt 4 - Gotify installieren
Nachdem Docker installiert ist, kannst du Gotify einrichten. Erstelle zunächst ein Verzeichnis für Gotify und wechsle in dieses Verzeichnis:
mkdir gotify
cd gotifyErstelle eine Datei namens docker-compose.yml mit dem folgenden Inhalt:
services:
gotify:
image: gotify/server
container_name: gotify
ports:
- "8080:80"
environment:
- GOTIFY_DEFAULTUSER_PASS=changeme
volumes:
- ./gotify-data:/app/data
restart: alwaysEinige Hinweise zur Konfiguration:
- Port
8080des Hosts wird auf Port80im Container weitergeleitet, sodass die Gotify-Weboberfläche unterhttp://<203.0.113.1>:8080erreichbar ist. GOTIFY_DEFAULTUSER_PASSlegt das initiale Passwort für den Standard-Benutzeradminfest. Ersetzechangemedurch ein sicheres Passwort, bevor du den Container startest.- Die Gotify-Daten (Benutzer, Anwendungen, Nachrichten) werden im Verzeichnis
./gotify-dataauf deinem Server gespeichert, damit sie auch nach einem Neustart des Containers erhalten bleiben.
Speichere die Datei und starte den Gotify-Container:
docker compose up -dÜberprüfe, ob der Container erfolgreich gestartet wurde:
docker ps -aDer Container mit dem Namen gotify sollte mit dem Status Up angezeigt werden.
Schritt 5 - Zugriff auf die Gotify-Weboberfläche
Öffne einen Webbrowser und rufe http://<203.0.113.1>:8080 auf. Du siehst die Gotify-Anmeldeseite.
Melde dich mit dem Benutzernamen admin und dem Passwort an, das du in GOTIFY_DEFAULTUSER_PASS festgelegt hast.
Nach dem Login siehst du das Gotify-Dashboard. Es ist noch leer – es gibt noch keine Anwendungen oder Nachrichten.
Schritt 5.1 - Admin-Passwort ändern
Es empfiehlt sich, das Admin-Passwort direkt nach dem ersten Login zu ändern, auch wenn du bereits einen eigenen Wert über die Umgebungsvariable gesetzt hast.
- Klicke auf das Benutzer-Symbol oben rechts.
- Gib ein neues Passwort ein und bestätige es.
- Klicke auf "Change", um die Änderung zu speichern.
Schritt 6 - Anwendung erstellen und Testbenachrichtigung senden
Gotify nutzt sogenannte Anwendungen (Applications) als Absender von Benachrichtigungen. Jede Anwendung besitzt ein eindeutiges Token, das zur Authentifizierung von API-Anfragen verwendet wird. Du musst mindestens eine Anwendung erstellen, bevor du Nachrichten senden kannst.
Schritt 6.1 - Anwendung erstellen
- Klicke in der Gotify-Weboberfläche in der oberen Leiste auf „Apps“.
- Klicke auf "Create Application".
- Gib der Anwendung einen Namen, z. B.
test-app, und füge optional eine Beschreibung hinzu. - Klicke auf "Create", um die Anwendung zu speichern.
Nach dem Erstellen der Anwendung zeigt Gotify ein Token dafür an. Kopiere dieses Token – du brauchst es im nächsten Schritt, um eine Benachrichtigung zu senden.
Schritt 6.2 - Testbenachrichtigung über die API senden
Gotify stellt eine REST-API zum Versenden von Nachrichten bereit. Du kannst curl verwenden, um vom Terminal aus eine Testbenachrichtigung zu senden. Ersetze <your-app-token> durch das im vorherigen Schritt kopierte Token und 203.0.113.1 durch die IP-Adresse deines Servers:
curl -X POST "http://203.0.113.1:8080/message?token=<your-app-token>" \
-F "title=Hallo von Gotify" \
-F "message=Das ist eine Testbenachrichtigung." \
-F "priority=5"Wenn die Anfrage erfolgreich war, gibt die API ein JSON-Objekt zurück, das die neue Nachricht beschreibt:
{
"id": 1,
"appid": 1,
"message": "Das ist eine Testbenachrichtigung.",
"title": "Hallo von Gotify",
"priority": 5,
"date": "2026-06-22T10:00:00Z"
}Wechsle zurück zur Gotify-Weboberfläche. Die Nachricht sollte nun im Dashboard unter der zuvor erstellten Anwendung erscheinen.
Das Feld priority ist eine Zahl zwischen 0 (minimal) und 10 (maximal). Anwendungen wie die Gotify-Android-App können diesen Wert verwenden, um zu entscheiden, ob eine stille Benachrichtigung oder eine Benachrichtigung mit hoher Priorität angezeigt werden soll.
Ergebnis
Du hast jetzt eine laufende Gotify-Instanz, über die du Push-Benachrichtigungen per einfacher REST-API senden kannst. Du kannst Gotify in eigene Skripte, Monitoring-Setups oder Automatisierungspipelines einbinden, indem du HTTP-POST-Anfragen an deinen Gotify-Server sendest.
Nächste Schritte:
| Beschreibung | |
|---|---|
| Firewall | Richte eine Firewall ein, die standardmäßig alle eingehenden Verbindungen blockiert und nur die benötigten Ports erlaubt (z. B. Port 8080 für die Gotify-Weboberfläche). |
| Reverse Proxy | Richte einen Reverse Proxy (z. B. mit Nginx) ein, um Gotify über eine Domain erreichbar zu machen und HTTPS zu aktivieren. |
| Gotify-Android-App | Installiere die Gotify-Android-App und verbinde sie mit deinem Server, um Push-Benachrichtigungen direkt auf deinem Smartphone zu empfangen. |
| Gotify-Dokumentation | Erkunde die vollständige API-Dokumentation, um mehr über Clients, Plugins und erweiterte Konfigurationsmöglichkeiten zu erfahren. |