Oder: Teamwork mit Wallabag
Ein RSS/Atom-Feed-Aggregator hört sich erstmal kompliziert und nerdy an, ist aber letztlich ein sehr einfaches und eigentlich für fast jedermann nützliches Werkzeug.
Tools wie FreshRSS sammeln neue Artikel bzw die Links dazu von unterschiedlichsten Webseiten und bereiten diese übersichtlich auf. Dazu zählen Webseiten mit Themen wie Nachrichten, Sportereignisse, Wetter, Podcasts, Videos, Foren, Jobbörsen, Blogs und sogar soziale Netzwerke (über bridges).
Nehmen wir an, ihr habt eine Liste von 20 bookmarks eurer Lieblings-Webseiten zu völlig unterschiedlichen Themen und Bereichen. FreshRSS nimmt euch die Arbeit ab, regelmäßig bei euren Lieblings-Webseiten nach Neuerungen zu suchen. Sobald ein neuer Artikel veröffentlicht wird erscheint dieser im FreshRSS. Je nachdem wie gut die Webseite RSS/Atom Feeds unterstützt bekommt ihr dazu eine kurze Zusammenfassung oder einen Anriss der neuen Beiträge angezeigt.
FreshRSS
FreshRSS ist ein leichtgewichtiger, quelloffener RSS / Atom-Feed-Aggregator. Er kommt mit WebUI, Mehrbenutzer-Unterstützung, Add-Ons sowie einer API die viele unterschiedliche Clients (u.a. für Android / iOS) unterstützt. Die Quellen liegen auf github, eine ausführliche Dokumentation findet ihr via freshrss.org.

FreshRSS kann sehr einfach über Podman bzw Docker bereitgestellt werden – natürlich ist auch eine reguläre Installation im System möglich. Ich gehe hier wie schon zuvor auf Podman ein. Podman ist von den Kommandos her nahezu vollständig kompatibel zu Docker, daher ist es kein Problem in meinen Beispielen das Kommando „podman“ bei Bedarf gegen „docker“ auszutauschen.
Datenschutz – aber sicher
Es gibt viele kommerzielle Anbieter, die mit Algorithmen oder Filtern werben die dir dann „Artikel nach deinem Geschmack“ zeigen, oder doppelte weg filtern. Das Problem ist jedoch, diese Anbieter bestimmen letztlich deinen Geschmack oder was du (nicht) siehst. Kleines Beispiel: du folgst mehreren Nachrichtensystemen, dein RSS-Anbieter verspricht dir „Nachrichten mit ähnlichem Inhalt“ zu filtern. Natürlich ist es dann übersichtlicher, wenn du nur von einem Nachrichtensystem „Zusammenfassung des heutigen Top-Spiels“ angezeigt bekommst – aber letztlich entscheidet der Anbieter für dich, welche Quelle übrig bleibt.
FreshRSS als quelloffene, selbst betriebene Lösung bietet lokal absolute Anonymität (auch im Mehrbenutzer-Betrieb) und verzichtet auf Algorithmen die dir nur bestimmte Ergebnisse zeigen.
Kurze Übersicht anderer Anbieter
Die zur Zeit populärsten RSS / Atom-Feed Anbieter sind Feedly und Inoreader, beide sind kommerziell wobei die Grundfunktionen auch ohne Bezahlung verwendet werden können. Letztlich „bezahlt“ ihr aber auch dort mit euren Daten – der Anbieter kann genau nach verfolgen welchen Feeds ihr folgt und wann ihr welche Artikel gelesen habt.
| Funktion | FreshRSS | Tiny Tiny RSS | Feedly | Inoreader | NewsBlur |
|---|---|---|---|---|---|
| Self-hosting | Ja | Ja | Nein | Nein | Nein |
| Open Source | Ja | Ja | Teils / Nein | Teils / Nein | Teils / Nein |
| Client-Support | via API (viele Clients kompatibel) | via API / Plugins | Native App / Lifewire | Native App / Inoreader | Native App / NewsBlur |
| Full-Text-Archiv / Suche | Abhängig von genutzter DB | via Plugins | Pro-Version | Pro-Versoin | Eingeschränkt frei / Pro erweitert |
| Integration (IFTTT, read-later) | via API und Plugins | via API und Plugins | Umfangreich | Pro-Version | Grundlegende Funktionen |
FreshRSS – mit Podman / Docker ganz einfach
Für einen schnellen Start bringt FreshRSS als Docker-Container eine SQLite Datenbank direkt mit. Bei kleinen Umgebungen mit nur ein paar Nutzern ist das völlig ausreichend.
podman run -d --restart unless-stopped --log-opt max-size=10m \
-p 8080:80 \
-e TZ=Europe/Paris \
-e 'CRON_MIN=*,30' \
-v freshrss_data:/var/www/FreshRSS/data \
-v freshrss_extensions:/var/www/FreshRSS/extensions \
--name freshrss \
freshrss/freshrss
Den Datenbereich sowie die Erweiterungen nutze ich mit jeweils eigenem Volume. Zum einen könnt ihr dann einfacher ein Backup durchführen, zum zweiten könnt ihr gewünschte Erweiterungen einfach ins Volume freshrss_extensions entpacken. Ein Zugriff oder Umbau des laufenden Container ist also nicht notwendig.
Wichtig ist hier der Flag CRON_MIN, dieser bestimmt in welchen Zeitabständen die RSS Feeds aktualisiert werden sollen (in meinem Beispiel alle 30 Minuten). Wenn man diesen Flag weglässt, ist eine manuelle Aktualisierung über die FreshRSS-Weboberfläche notwendig.
Wer ein wenig größer plant, oder mehr als nur die eigene Familie versorgen will, kann auch auf PostgreSQL oder MySQL / MariaDB setzen. Dazu einfach den entsprechenden Container erzeugen, hier als Beispiel MariaDB.
podman run -d -e MYSQL_DATABASE=freshrss \
-e MYSQL_USER=freshrss \
-e MYSQL_PASSWORD=freshpass \
-e MYSQL_ROOT_PASSWORD=freshpass1 \
-v freshrss-db:/var/lib/mysql \
--restart on-failure \
--log-opt max-size=10m \
--name freshrss-db docker.io/library/mariadb:10
Sobald die Datenbank läuft, kommt der Container für FreshRSS an die Reihe. In diesem Fall gibt es dabei keinen gesonderten Aufruf – es gilt auch hier das obige Beispiel. Bei der Ersteinrichtung von FreshRSS gibt man als lokale Datenbank die MySQL/MariaDB sowie Nutzer und Kennwort an.
FreshRSS im Einsatz
Ich empfehle nach der Ersteinrichtung einen separaten Nutzer für den regulären Gebrauch zu erstellen. Damit anmelden und über die Abonnementverwaltung zunächst eine Gruppe und anschließend einen Feed abonnieren – zum Beispiel diesen https://just-stuff.blog/feed/
Über die Hauptseite findet man dann alle (neuen) Beiträge (je nach Filter) von diesem Blog.

FreshRSS und Wallabag
Vor kurzem habe ich hier Wallabag als read-it-later Dienst vorgestellt. FreshRSS bietet über ein Plugin die Möglichkeit, einen Artikel direkt zu eurem Wallabag zu senden. Dazu das Plugin im extensions-Verzeichnis entpacken, die Webseite von FreshRSS neu laden und schon kann man das Plugin aktivieren. Zur Absicherung wird nun bei Wallabag in der API-Client-Verwaltung ein neuer Client erstellt. Der Name dazu ist egal (Vorschlag: FreshRSS), die Weiterleitungs-URI könnt ihr leer lassen. Einstellungen speichern, das System erzeugt eine Client-ID sowie ein secret.
Zurück bei FreshRSS im neu aktivierten Plugin alle Felder ausfüllen: die URL von eurem Wallabag, Nutzername und Kennwort, Client-ID und das secret. Wenn ihr alles richtig gemacht habt meldet FreshRSS ein „Wallabag verbunden“ – und ihr habt bei jedem Artikel unten einen neuen kleinen Button.
Mobiler Client
Ich persönlich nutze über den PC / Browser einfach die FreshRSS-Weboberfläche – alleine schon weil ich dort die Artikel direkt in mein Wallabag schicken kann. Als mobile App ist mein aktueller Favourit readrops. Für die App setze ich in FreshRSS unter Profil ein API-Kennwort. Das ist eine zusätzliche Sicherheit für das eigentliche Konto – mit dem API-Kennwort gibts zwar Zugriff auf die Feeds, jedoch nicht auf das Profil selbst. Heißt, wenn jemand Zugriff auf das API-Kennwort bekommt, kann er trotzdem nicht einfach das Konto-Kennwort einsehen oder ändern, oder aber das Konto löschen.
