No description
				
			
		| go | ||
| .env.example | ||
| .gitignore | ||
| docker-compose.yml | ||
| README.md | ||
GoToSocial Benachrichtigungs-Relay zu ntfy
Dieses Projekt ist ein Go-Service, der regelmäßig Benachrichtigungen von einer GoToSocial Instanz abruft und als Push-Nachrichten an einen eigenen ntfy Server weiterleitet.
Jede Benachrichtigung enthält einen "Beitrag anzeigen"-Button, der direkt auf die Originalseite des jeweiligen Posts verweist.
Features
- Polling von GoToSocial-Benachrichtigungen über die REST-API
 - Versand neuer Benachrichtigungen als Push an einen ntfy-Server
 - HTML zu Klartext: Entfernt HTML aus den Benachrichtigungen
 - Action-Button: Öffnet den Original-Post auf der Instanz
 - Konfigurierbar über 
.env-Datei - Docker- und Compose-Setup
 - Logging mit Titel und Typ der Benachrichtigung
 - Token-Unterstützung für ntfy und GoToSocial
 
Voraussetzungen
- GoToSocial Instanz mit API-Zugang und Token (Scope: 
read:notifications) - ntfy-Server (selbst gehostet oder ntfy.sh)
 - Docker & Docker Compose
 
Installation
- 
Repository klonen
git clone cd - 
.env-Datei anlegen und konfigurieren
Beispiel:
# GoToSocial API GOTOSOCIAL_URL=https://social.example.com GOTOSOCIAL_TOKEN=dein_gotosocial_token # ntfy NTFY_SERVER=https://ntfy.example.com NTFY_TOKEN=dein_ntfy_token NTFY_TOPIC=mein_topic # Intervall für Polling (z.B. 30s, 1m) POLL_INTERVAL=30s - 
Build & Start mit Docker Compose
docker-compose up --build -d 
Verwendete Dateien
- 
main.go
Go-Programm: Fragt Benachrichtigungen ab und sendet sie an ntfy. - 
Dockerfile
Baut das Go-Binary und erstellt ein minimales Image. - 
docker-compose.yml
Startet den Dienst mit allen Umgebungsvariablen. - 
.env
Konfigurationsdatei für Zugangsdaten und Einstellungen. 
Benachrichtigungsformat
- Titel: 
"Neue Benachrichtigung von " - Nachricht: Typ und Inhalt der Benachrichtigung (HTML entfernt)
 - Tags: 
bell,incoming_envelope - Action-Button:
- Label: 
Beitrag anzeigen - Öffnet die Original-URL des Beitrags (
status.url) in der GoToSocial-Instanz 
 - Label: 
 
Beispiel für eine Benachrichtigung
Hinweise
- Das Feld 
status.urlmuss von der GoToSocial-API bereitgestellt werden (ab aktuellem Release Standard). - Die Anwendung speichert keine Daten dauerhaft, sondern verarbeitet nur neue Benachrichtigungen seit dem letzten Polling.
 - Für produktiven Einsatz: Tokens sicher speichern und HTTPS verwenden.
 
Anpassungen
- Polling-Intervall: Über 
POLL_INTERVALin der.env-Datei anpassbar. - Topic: Über 
NTFY_TOPICwählbar. - ntfy-Server: Eigener Server oder ntfy.sh verwendbar.
 
Fehlerbehandlung & Logging
- Alle Aktionen und Fehler werden mit Zeitstempel geloggt.
 - Logs sind im Docker-Container über 
docker logs gots-notifyeinsehbar. 
Lizenz
MIT License
