Files
BlueMastoFeed/README.md

3.5 KiB
Raw Blame History

📰 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