FreshRSS: Der eigene Nachrichtenfeed ohne Algorithmen
Soziale Netzwerke entscheiden selbst, welche Beiträge zuerst angezeigt werden. Dadurch kann ein wichtiges Projekt-Update leicht untergehen, während stattdessen Dutzende Empfehlungen erscheinen. FreshRSS funktioniert anders: Sie wählen die Quellen aus, und neue Inhalte erscheinen in einem einzigen chronologischen Feed.
FreshRSS lässt sich auf dem eigenen Server installieren und als zentraler Posteingang für Blogs, Nachrichten, Software-Updates, Foren, Podcasts und andere Quellen mit RSS oder Atom verwenden. In diesem Artikel betrachten wir die Funktionen der Anwendung, die Serveranforderungen und die Installation auf einem VPS mit Docker und HTTPS.
FreshRSS in fünf Schritten
- Einen Linux-VPS erstellen und eine Subdomain darauf verweisen lassen, zum Beispiel
rss.example.com. - Docker und Docker Compose installieren.
- FreshRSS zusammen mit Caddy für automatisches HTTPS starten.
- Die Subdomain öffnen, SQLite auswählen und ein Benutzerkonto erstellen.
- Abonnements aus OPML importieren oder Websites manuell hinzufügen.
Danach prüft der VPS die Quellen automatisch nach Zeitplan, selbst wenn der Computer des Benutzers ausgeschaltet ist.
Was ist FreshRSS?
FreshRSS ist ein kostenloser, selbst gehosteter RSS- und Atom-Aggregator. Selbst gehostet bedeutet, dass die Anwendung und die Datenbank auf einem Server laufen, den Sie selbst verwalten, und nicht bei einem Cloud-Dienst.
Ein RSS-Feed ist eine spezielle Datei, die eine Website aktualisiert, sobald neue Inhalte veröffentlicht werden. FreshRSS ruft solche Dateien regelmäßig von den ausgewählten Quellen ab und führt die Einträge in einer Oberfläche zusammen. Ungelesene Artikel, Favoriten und der Lesestatus werden zwischen den Geräten synchronisiert.
Die Grundidee ist einfach: Der Benutzer entscheidet selbst, wem er folgt und in welcher Reihenfolge Beiträge angezeigt werden. FreshRSS sortiert Einträge nicht nach Interaktionen und fügt zwischen den Abonnements keine empfohlenen Inhalte ein.
Funktionen von FreshRSS
| Funktion | Wofür sie gedacht ist |
|---|---|
| Kategorien, Status und Favoriten | Arbeitsbezogene, technische und persönliche Quellen trennen |
| Suche, Filter und gespeicherte Abfragen | Nur Beiträge zu einem bestimmten Thema anzeigen |
| OPML-Import und -Export | Eine Abonnementliste schnell übertragen |
| Google Reader API und Fever API | Kompatible Apps auf Smartphone und Computer verbinden |
| WebSub | Beiträge unterstützter Quellen sofort nach der Veröffentlichung erhalten |
| Mehrere Benutzer | Separate Konten für Familie oder Team erstellen |
| Themes und Erweiterungen | Die Oberfläche anpassen und Funktionen ergänzen |
| XPath und JSON Feed | Manche Quellen auch ohne klassischen RSS- oder Atom-Feed abonnieren |
Eine gespeicherte Suchanfrage kann zu einem eigenen Themenfeed werden, zum Beispiel nur mit Beiträgen über Sicherheit oder Updates eines bestimmten Produkts. Das Ergebnis lässt sich in FreshRSS öffnen oder als HTML beziehungsweise RSS veröffentlichen; für Feed-Listen steht außerdem OPML zur Verfügung.
Mit WebSub kann eine kompatible Website FreshRSS selbst über einen neuen Beitrag informieren, ohne auf die nächste planmäßige Prüfung zu warten. Dafür muss die FreshRSS-Instanz über eine gültige öffentliche Adresse aus dem Internet erreichbar sein.
FreshRSS ist besonders praktisch für Entwickler und Administratoren: Projektblogs, Releases, Störungsberichte und Sicherheitsmeldungen lassen sich in einem Feed bündeln. Beim normalen Lesen ersetzt es Dutzende offene Tabs und synchronisiert den genauen Gelesen-Status auf allen Geräten.
Welche Anforderungen hat FreshRSS?
FreshRSS benötigt nur wenige Ressourcen. Es unterstützt SQLite, PostgreSQL, MariaDB und MySQL; für eine manuelle Installation werden außerdem ein Webserver und PHP 8.1 oder neuer benötigt. In der offiziellen Beschreibung wird sogar ein Test auf einem Raspberry Pi 1 mit 150 Feeds und 22.000 Artikeln genannt.
Praktische Startkonfigurationen:
| Szenario | CPU | RAM | Speicher | Datenbank |
|---|---|---|---|---|
| Persönlicher Feed | 1 vCPU | 1 GB | 10–20 GB SSD | SQLite |
| Familie oder kleines Team | 1–2 vCPU | 2 GB | 20–40 GB SSD | SQLite oder externe Datenbank |
| Viele Benutzer und großes Archiv | Ab 2 vCPU | Ab 4 GB | Ab 40 GB SSD | PostgreSQL oder MariaDB |
Das sind Richtwerte und keine festen Mindestanforderungen. Der Speicherbedarf hängt von der Anzahl der Quellen, der Veröffentlichungshäufigkeit und der Aufbewahrungsdauer des Archivs ab. Ein VPS ist praktischer als ein Heimcomputer, wenn rund um die Uhr aktualisiert werden soll, externer Zugriff, mobile Synchronisierung und WebSub benötigt werden.
FreshRSS mit Docker auf einem VPS installieren
In der folgenden Konfiguration läuft FreshRSS hinter Caddy. Caddy nimmt externe Anfragen entgegen und bezieht automatisch ein TLS-Zertifikat.
Benötigt werden ein Linux-VPS, installiertes Docker mit dem Befehl docker compose, eine Subdomain mit einem A-Record auf die IP-Adresse des Servers sowie geöffnete Ports 80 und 443.
Schritt 1. Verzeichnis erstellen
sudo mkdir -p /opt/freshrss
sudo chown "$USER":"$USER" /opt/freshrss
cd /opt/freshrssSchritt 2. compose.yaml erstellen
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
restart: unless-stopped
logging:
options:
max-size: 10m
environment:
TZ: Etc/UTC
CRON_MIN: '3,33'
FRESHRSS_ENV: production
TRUSTED_PROXY: 172.16.0.0/12
volumes:
- freshrss_data:/var/www/FreshRSS/data
- freshrss_extensions:/var/www/FreshRSS/extensions
caddy:
image: caddy:2
container_name: freshrss-caddy
restart: unless-stopped
depends_on:
- freshrss
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile:ro
- caddy_data:/data
- caddy_config:/config
volumes:
freshrss_data:
freshrss_extensions:
caddy_data:
caddy_config:CRON_MIN: '3,33' startet die Feed-Prüfung in der 3. und 33. Minute jeder Stunde. FreshRSS aktualisiert einen einzelnen Feed nicht häufiger als ungefähr alle 20 Minuten, daher ist ein häufigerer Start normalerweise nicht nötig.
Schritt 3. Caddyfile erstellen
rss.example.com {
reverse_proxy freshrss:80
}Ersetzen Sie die Domain durch Ihre eigene. Sobald der DNS-Eintrag aktualisiert wurde und die Ports erreichbar sind, ruft Caddy das Zertifikat automatisch ab und verlängert es.
Schritt 4. FreshRSS starten
docker compose up -d
docker compose psDie Protokolle können mit folgendem Befehl geprüft werden:
docker compose logs -f --tail=100Öffnen Sie https://rss.example.com. Der Installationsassistent prüft die Umgebung, lässt Sie eine Datenbank auswählen und den ersten Benutzer anlegen. Für einen persönlichen Server ist SQLite am einfachsten, da kein separater Datenbank-Container benötigt wird.
Ersteinrichtung
FreshRSS findet RSS oder Atom häufig bereits über die normale Adresse einer Website. Wenn die automatische Erkennung nicht funktioniert, geben Sie die direkte URL des Feeds ein. Abonnements aus Feedly, Inoreader und anderen Readern lassen sich bequem über OPML übertragen.
Ordnen Sie die Quellen direkt in Kategorien ein, zum Beispiel „Pflichtlektüre“, „Arbeit“, „Sicherheit“, „lange Artikel“ und „Lesen nebenbei“. Nachrichtenportale mit vielen Veröffentlichungen sollten wirklich wichtige Updates nicht aus dem Hauptfeed verdrängen.
Um eine App zu verbinden, aktivieren Sie die API in den Authentifizierungseinstellungen und legen im Profil ein separates API-Passwort fest. Die Adresse der Google Reader API sieht so aus:
https://rss.example.com/api/greader.phpDas Hauptpasswort und das API-Passwort sollten besser nicht identisch sein.
So gehen Sie nicht in ungelesenen Artikeln unter
FreshRSS ist nach einer kleinen Einrichtung am nützlichsten:
- im Hauptfeed nur wichtige Quellen belassen;
- Filter verwenden, um unwichtige Rubriken automatisch als gelesen zu markieren;
- Suchanfragen zu Produkten, Autoren und Themen speichern;
- regelmäßig die Statistik prüfen und Quellen entfernen, die nur für Rauschen sorgen.
Erweiterungen können eine Schätzung der Lesezeit, Wortmarkierungen, Bild-Proxying, eingebettete YouTube-Videos, Webhook-Benachrichtigungen und die Klassifizierung von Artikeln über eine kompatible LLM-API hinzufügen. Installieren Sie Erweiterungen von Drittanbietern nur aus vertrauenswürdigen Quellen.
Updates, Sicherheit und Backups
Führen Sie zum Aktualisieren der Container Folgendes aus:
cd /opt/freshrss
docker compose pull
docker compose up -dErstellen Sie vor einem größeren Update ein Backup. Im Volume freshrss_data liegen die Benutzereinstellungen und bei Verwendung von SQLite auch die Artikeldatenbank. Sichern Sie außerdem freshrss_extensions, wenn Sie Erweiterungen verwenden. Für PostgreSQL, MariaDB oder MySQL ist ein separater Datenbank-Dump erforderlich.
Grundlegende Sicherheitsmaßnahmen:
- HTTPS verwenden;
- offene Registrierung nach dem Anlegen der Konten deaktivieren;
- anonymen Zugriff nur bei Bedarf aktivieren;
- ein separates API-Passwort verwenden;
- FreshRSS und Erweiterungen regelmäßig aktualisieren;
- ein Backup außerhalb des VPS aufbewahren.
Ein OPML-Export ersetzt kein vollständiges Backup, ermöglicht aber die schnelle Wiederherstellung der Abonnementliste in jedem kompatiblen RSS-Reader.
FreshRSS auf einem VPS von tropic.host
FreshRSS eignet sich als erster selbst gehosteter Dienst: Es benötigt wenige Ressourcen, läuft in Docker und bietet direkt nach dem Import der Abonnements einen spürbaren Nutzen. Ein öffentlicher VPS ermöglicht Feed-Aktualisierungen rund um die Uhr, den Zugriff per Smartphone und die korrekte Funktion von WebSub.
Für eine persönliche Installation reicht in der Regel eine kleine Linux-Konfiguration. Bei tropic.host können Sie FreshRSS eine eigene Subdomain zuweisen, mit einem Einstiegs-VPS beginnen und den Dienst unabhängig vom Heimcomputer betreiben. Bei der Tarifwahl sind Stabilität, Speicherplatz für das Archiv und Backups wichtiger als große CPU-Reserven.
Fazit
FreshRSS verwandelt Dutzende Websites in einen übersichtlichen persönlichen Feed ohne algorithmische Sortierung. Es unterstützt mobile Clients, Filter, gespeicherte Suchanfragen, mehrere Benutzer, WebSub und Erweiterungen und bleibt dabei leicht genug für einen kleinen VPS.
Für den Start werden Docker, eine Domain und SQLite benötigt. Richten Sie nach der Installation Kategorien, automatische Aktualisierung, HTTPS und Backups ein. Dann zeigt FreshRSS nur die ausgewählten Quellen und gibt dem Benutzer die Kontrolle über das Lesen zurück.
FAQ
Ist FreshRSS kostenlos?
Ja. FreshRSS wird unter der Lizenz AGPL-3.0 veröffentlicht. Kosten entstehen nur für die Infrastruktur, wenn die Anwendung auf einem gemieteten VPS läuft.
Kann FreshRSS ohne Domain verwendet werden?
Ja, wenn der Container-Port veröffentlicht wird. Für den dauerhaften Einsatz ist es besser, eine Domain und HTTPS einzurichten: Das erleichtert sicheren Zugriff, mobile Synchronisierung und WebSub.
Wie viel Arbeitsspeicher benötigt FreshRSS?
Für einen persönlichen Feed ist ein Einstieg mit 1 GB RAM und SQLite sinnvoll. Ein großes Archiv, mehrere Benutzer oder zusätzliche Dienste benötigen mehr Arbeitsspeicher.
Kann eine Website ohne RSS hinzugefügt werden?
Manchmal. FreshRSS unterstützt Web-Scraping über XPath, die Regeln müssen jedoch manuell eingerichtet werden. Wenn sich das Layout der Website ändert, muss eine solche Quelle möglicherweise angepasst werden.
Was muss unbedingt gesichert werden?
Zuerst das Volume freshrss_data: Bei SQLite befindet sich darin die Artikeldatenbank. Sichern Sie außerdem freshrss_extensions und erstellen Sie Dumps einer externen Datenbank.
