📰 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.

Features

  • RSS-Feed regelmäßig auslesen
  • Postfilterung nach Alter (MAX_POST_AGE_DAYS)
  • Verhindert doppelte Posts mit Hilfe einer persistierten ID-Liste
  • Posten auf:
    • Mastodon
    • Bluesky
    • Beides (konfigurierbar über .env)
  • Optionaler E-Mail-Versand bei Erfolg oder Fehler
  • Healthcheck-Endpoint auf Port 8000

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 Beispielwert Standardwert
FEED_URL URL zum RSS- oder Atom-Feed https://example.com/feed erforderlich
MAX_POST_AGE_DAYS Maximales Alter eines Beitrags (in Tagen), der gepostet werden darf 0 = nur heutige Beiträge 0
POST_TARGETS Zielplattform(en): mastodon, bluesky, both mastodon = nur Mastodon both
MASTODON_API_BASE_URL Basis-URL deiner Mastodon-Instanz https://mastodon.social erforderlich
MASTODON_ACCESS_TOKEN Access Token für die Mastodon API abc123... erforderlich
BSKY_IDENTIFIER Bluesky-Handle name.bsky.social erforderlich
BSKY_PASSWORD Passwort für das Bluesky-Konto passwort123 erforderlich
INTERVAL_MINUTES Zeitintervall in Minuten zwischen den Feed-Prüfungen 30 30
EMAIL_MODE Wann eine Status-E-Mail gesendet werden soll (none, errors, all) errors errors
SMTP_HOST SMTP-Server für Status-E-Mails smtp.example.com optional
SMTP_PORT Port des SMTP-Servers 587 587
SMTP_USER Benutzername für SMTP user@example.com optional
SMTP_PASSWORD Passwort für SMTP sicherespasswort optional
EMAIL_FROM Absenderadresse für E-Mails noreply@example.com optional
EMAIL_TO Empfängeradresse für E-Mails admin@example.com optional
LOG_LEVEL Logging-Level: DEBUG, INFO, WARNING, ERROR DEBUG ÌNFO
Description
BlueMastoFeed ist ein Docker-basiertes Tool, das regelmäßig einen RSS-Feed ausliest und neue Beiträge automatisch auf Mastodon und Bluesky veröffentlicht.
Readme 108 KiB
2025-06-03 19:23:15 +02:00
Languages
Python 97.1%
Dockerfile 2.9%