add README
This commit is contained in:
parent
1ed5bdfdc9
commit
81b07ee46d
2 changed files with 127 additions and 2 deletions
127
README.md
Normal file
127
README.md
Normal file
|
@ -0,0 +1,127 @@
|
|||
# GoToSocial Benachrichtigungs-Relay zu ntfy
|
||||
|
||||
Dieses Projekt ist ein Go-Service, der regelmäßig Benachrichtigungen von einer [GoToSocial](https://docs.gotosocial.org/) Instanz abruft und als Push-Nachrichten an einen eigenen [ntfy](https://ntfy.sh/) 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
|
||||
|
||||
1. **Repository klonen**
|
||||
|
||||
```
|
||||
git clone
|
||||
cd
|
||||
```
|
||||
|
||||
2. **.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
|
||||
```
|
||||
|
||||
3. **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
|
||||
|
||||
---
|
||||
|
||||
## Beispiel für eine Benachrichtigung
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Hinweise
|
||||
|
||||
- Das Feld `status.url` muss 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_INTERVAL` in der `.env`-Datei anpassbar.
|
||||
- **Topic:** Über `NTFY_TOPIC` wä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-notify` einsehbar.
|
||||
|
||||
---
|
||||
|
||||
## Lizenz
|
||||
|
||||
MIT License
|
||||
|
||||
---
|
||||
|
||||
## Weiterführende Links
|
||||
|
||||
- [GoToSocial Dokumentation](https://docs.gotosocial.org/)
|
||||
- [ntfy Dokumentation](https://docs.ntfy.sh/)
|
|
@ -1,5 +1,3 @@
|
|||
version: '3.8'
|
||||
|
||||
services:
|
||||
gots-notify:
|
||||
build: .
|
||||
|
|
Loading…
Add table
Reference in a new issue