3.5 KiB
3.5 KiB
📰 BlueMastoFeed – RSS zu Mastodon & Bluesky Poster
BlueMastoFeed ist ein Docker-basiertes Tool, das regelmäßig einen RSS-Feed ausliest und neue Beiträge automatisch auf Mastodon und Bluesky veröffentlicht.
Es prüft, ob ein Beitrag bereits gepostet wurde, und speichert diese Information lokal in einer Datei (/data/seen_posts.txt
). Optional werden OpenGraph-Daten (Titel, Vorschau-Bild etc.) der verlinkten Seiten extrahiert, um die Posts ansprechender zu gestalten.
Voraussetzungen
- Docker (Version 20.10 oder höher)
- Zugangsdaten für Mastodon & Bluesky
- Gültige RSS-Feed-URL
Einrichtung für Produktivbetrieb
1. Datenverzeichnis auf dem Host erstellen
mkdir -p /opt/bluemastofeed/data
2. Container mit Umgebungsvariablen starten
docker run -d \
--name bluemastofeed \
-e FEED_URL=https://example.com/rss.xml \
-e MASTODON_API_BASE_URL=https://mastodon.social \
-e MASTODON_ACCESS_TOKEN=your_mastodon_access_token \
-e BSKY_IDENTIFIER=your_handle.bsky.social \
-e BSKY_PASSWORD=your_bluesky_password \
-v /opt/bluemastofeed/data:/data \
dev.ksite.de/ralf.kirchner/bluemastofeed:latest
Einrichtung für Entwicklung
1. Repository klonen
git clone https://dev.ksite.de/ralf.kirchner/BlueMastoFeed.git
cd BlueMastoFeed
2. .env
-Datei erstellen
Erstelle im Projektverzeichnis eine Datei namens .env
mit folgendem Inhalt:
FEED_URL=https://example.com/rss.xml
MASTODON_API_BASE_URL=https://mastodon.social
MASTODON_ACCESS_TOKEN=your_mastodon_token
BSKY_IDENTIFIER=your_bsky_handle
BSKY_PASSWORD=your_bsky_password
3. Docker-Image lokal bauen
docker build -t bluemastofeed .
4. Container starten
docker run -d \
--name rss-poster \
--env-file .env \
-v $(pwd)/data:/data \
bluemastofeed
Umgebungsvariablen
Die folgenden Umgebungsvariablen steuern das Verhalten des Containers. Sie können entweder direkt beim Start übergeben oder über eine .env
-Datei definiert werden.
Variable | Beschreibung |
---|---|
FEED_URL |
URL des RSS-Feeds, der regelmäßig überprüft wird (z. B. https://example.com/rss.xml ) |
MASTODON_API_BASE_URL |
Basis-URL der Mastodon-Instanz (z. B. https://mastodon.social ) |
MASTODON_ACCESS_TOKEN |
Access Token des Mastodon-Accounts für die API-Nutzung |
BSKY_IDENTIFIER |
Bluesky-Handle oder Login (z. B. user.bsky.social ) |
BSKY_PASSWORD |
Passwort des Bluesky-Accounts |
INTERVAL_MINUTES |
Zeitintervall in Minuten zur Prüfung des RSS-Feeds (z. B. 30 ) |
SMTP_HOST |
SMTP-Server für den Versand von E-Mails |
SMTP_PORT |
Port des SMTP-Servers (z. B. 587 für STARTTLS) |
SMTP_USER |
SMTP-Benutzername |
SMTP_PASSWORD |
SMTP-Passwort |
EMAIL_FROM |
Absenderadresse für E-Mail-Benachrichtigungen |
EMAIL_TO |
Empfängeradresse für Benachrichtigungen |
EMAIL_MODE |
Wann E-Mails versendet werden: • none – keine Mails• errors – nur bei Fehlern• all – bei jedem Durchlauf |