2025-05-25 09:37:47 +02:00
# 📰 BlueMastoFeed – RSS zu Mastodon & Bluesky Poster
2025-05-24 16:50:42 +02:00
2025-05-25 09:37:47 +02:00
**BlueMastoFeed** ist ein Docker-basiertes Tool, das regelmäßig einen RSS-Feed ausliest und neue Beiträge automatisch auf **Mastodon** und **Bluesky** veröffentlicht.
2025-05-24 16:50:42 +02:00
2025-05-25 09:37:47 +02:00
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.
2025-05-24 16:50:42 +02:00
## Voraussetzungen
2025-05-25 09:37:47 +02:00
- Docker (Version **20.10** oder höher)
2025-05-24 16:50:42 +02:00
- Zugangsdaten für Mastodon & Bluesky
2025-05-25 09:37:47 +02:00
- Gültige RSS-Feed-URL
2025-05-24 16:50:42 +02:00
2025-05-25 09:37:47 +02:00
## Einrichtung für Produktivbetrieb
### 1. Datenverzeichnis auf dem Host erstellen
```bash
mkdir -p /opt/bluemastofeed/data
```
### 2. Container mit Umgebungsvariablen starten
```bash
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
2025-05-24 16:50:42 +02:00
```bash
2025-05-24 18:10:14 +02:00
git clone https://dev.ksite.de/ralf.kirchner/BlueMastoFeed.git
cd BlueMastoFeed
2025-05-24 16:50:42 +02:00
```
2025-05-25 09:37:47 +02:00
### 2. `.env`-Datei erstellen
2025-05-24 16:50:42 +02:00
2025-05-25 09:37:47 +02:00
Erstelle im Projektverzeichnis eine Datei namens `.env` mit folgendem Inhalt:
2025-05-24 16:50:42 +02:00
```env
2025-05-25 09:37:47 +02:00
FEED_URL=https://example.com/rss.xml
2025-05-24 16:50:42 +02:00
MASTODON_API_BASE_URL=https://mastodon.social
MASTODON_ACCESS_TOKEN=your_mastodon_token
BSKY_IDENTIFIER=your_bsky_handle
BSKY_PASSWORD=your_bsky_password
```
2025-05-25 09:37:47 +02:00
### 3. Docker-Image lokal bauen
2025-05-24 16:50:42 +02:00
```bash
2025-05-24 18:10:14 +02:00
docker build -t bluemastofeed .
2025-05-24 16:50:42 +02:00
```
2025-05-25 09:37:47 +02:00
### 4. Container starten
2025-05-24 16:50:42 +02:00
```bash
docker run -d \
--name rss-poster \
--env-file .env \
-v $(pwd)/data:/data \
2025-05-24 18:10:14 +02:00
bluemastofeed
2025-05-24 16:50:42 +02:00
```
2025-05-25 09:37:47 +02:00
## 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:< br > • `none` – keine Mails< br > • `errors` – nur bei Fehlern< br > • `all` – bei jedem Durchlauf |