- FreshRSS is een zelfgehoste nieuwsaggregator die niet afhankelijk is van externe algoritmes en de privacy beschermt.
- Het maakt volledige synchronisatie tussen verschillende apparaten mogelijk via API's die compatibel zijn met mobiele en desktopapplicaties.
- Het ondersteunt meerdere implementatiemethoden, van Docker-containers tot handmatige installaties op LAMP/LEMP-servers.
- Het biedt geavanceerde tools zoals webscraping via XPath om sites te volgen die geen ingebouwde RSS-feed hebben.

Je hebt vast wel gemerkt dat het meeste nieuws dat je consumeert, wordt gefilterd door de grillen van sociale netwerken. Er bestaat echter al tientallen jaren een technologie genaamd RSS waarmee we ons kunnen losmaken van algoritmes en zelf kunnen kiezen wat we willen lezen. Het komt er in feite op neer dat je je abonneert op universele XML-feeds die websites publiceren om je op de hoogte te houden van hun updates. Om deze feeds te beheren, is een eigen aggregator zoals FreshRSS ideaal.
Het opzetten van je eigen nieuwsfeedmanager thuis gaat niet alleen over digitale soevereiniteit en privacy ; het stelt je ook in staat om een overzichtelijke, reclamevrije en volledig georganiseerde informatiestroom te hebben, afgestemd op jouw voorkeuren. Of je nu een krachtige mini-pc of een bescheiden Raspberry Pi hebt, FreshRSS is een lichtgewicht optie die zich aanpast aan elke hardware, waardoor je blogs, YouTube-kanalen en nieuwsbronnen kunt centraliseren in één dashboard.
Wat is FreshRSS precies en wat zijn de voordelen ervan?

We hebben het over een open-source RSS- en Atom-feedaggregator (AGPLv3-licentie) die je op je eigen infrastructuur kunt hosten. In tegenstelling tot clouddiensten zoals Feedly of Inoreader, die vaak betaalmuren hebben voor basisfuncties, is FreshRSS volledig gratis en kent het geen limieten voor feeds of categorieën. Bovendien is het extreem efficiënt in het gebruik van resources en kan het duizenden artikelen verwerken zonder het systeem te vertragen.
Tot de krachtigste functies behoren het beheer van meerdere gebruikers , ideaal voor het delen van de server met familie, en de mogelijkheid om abonnementen te importeren en exporteren met behulp van het standaard OPML-formaat. Het bevat ook zoekfuncties, geavanceerde filters om artikelen als gelezen te markeren op basis van trefwoorden, en de mogelijkheid om feeds te genereren via scraping als de website waarin je geïnteresseerd bent geen actieve RSS-feed heeft.
Vereisten en voorbereiding van de omgeving

Om te beginnen is de meest gangbare aanpak tegenwoordig het gebruik van een Linux-omgeving. Als je voor containers kiest, moet je Docker, Docker Compose en eventueel Portainer voor visueel beheer hebben geïnstalleerd. Wat hardware betreft, is 256 MB of 512 MB RAM meer dan voldoende voor persoonlijk gebruik.
Als u de voorkeur geeft aan een handmatige installatie op een webserver, heeft u een LAMP- of LEMP-stack nodig (Linux, Nginx/Apache, MySQL/MariaDB en PHP 7.4+). PHP-extensies zoals curl, xml, mbstring en zip zijn essentieel voor de correcte werking van het programma. Als u van plan bent het programma van buiten uw thuisnetwerk te benaderen, kunt u een reverse proxy configureren met Caddy of Nginx Proxy Manager, of tools zoals Tailscale gebruiken om te voorkomen dat de server aan het internet wordt blootgesteld zonder dat complexe SSL-certificaten nodig zijn.
Stapsgewijze installatie met Docker Compose

Dit is de snelste en schoonste manier. Je hoeft alleen maar een bestand aan te maken. docker-compose.yml in de map van uw voorkeur. Er zijn verschillende images beschikbaar, waarvan de Linuxserver-image een van de eenvoudigste is. Een basisconfiguratievoorbeeld omvat het definiëren van de image, de tijdzone (TZ) en de volumekartering zodat uw gegevens niet worden verwijderd wanneer de container opnieuw wordt opgestart.
Als u op zoek bent naar superieure prestaties bij het verwerken van een enorme bibliotheek met feeds, is het aan te raden een PostgreSQL-database te gebruiken in plaats van SQLite. In het samenstellingsbestand voegt u een aparte databaseservice toe en configureert u de omgevingsvariabele zodat FreshRSS verbinding maakt met de databasehost. Zodra het bestand klaar is, hoeft u alleen nog maar het volgende commando uit te voeren: docker-compose up -d en het systeem zal zijn draait op de achtergrond.
Initiële configuratie en fijnafstelling

De eerste keer dat u toegang krijgt tot het systeem via het IP-adres van uw server en de geconfigureerde poort (bijvoorbeeld 8080), wordt u begroet door een webwizard. Hier kiest u uw taal, configureert u het beheerdersaccount en selecteert u het type database . Voor de meeste gebruikers is SQLite vanwege de eenvoud meer dan voldoende, maar voor professionele implementaties is PostgreSQL de betere keuze.
Eenmaal ingelogd, kun je feeds toevoegen door de URL van de website te plakken. FreshRSS is behoorlijk slim en detecteert de feed meestal automatisch, zelfs als je de RSS-link in eerste instantie niet ziet. Om alles overzichtelijk te houden, is het essentieel om categorieën aan te maken (Technologie, Wetenschap, Entertainment) en elke feed aan een van deze categorieën toe te wijzen. Zo voorkom je dat de interface een chaotische warboel van gemengd nieuws wordt.
Synchronisatie met mobiele en desktopapplicaties
De webinterface werkt prima, maar de echte magie gebeurt wanneer je FreshRSS koppelt aan externe apps zoals Newsflash op Linux, NetNewsWire op iOS of Capy Reader op Android. Om dit te doen, moet je naar je profielinstellingen gaan en API-toegang inschakelen . Maak hiervoor een specifiek wachtwoord aan (dat verschilt van je accountwachtwoord).
FreshRSS is compatibel met de Google Reader API en de Fever API. Bij het configureren van de app moet u uw server-URL invoeren, inclusief de poort en het specifieke pad (bijv. /api/greader.php). Op deze manier bereik je een volledige bidirectionele synchronisatieAls je een artikel op je mobiele apparaat als gelezen markeert, wordt het ook als gelezen weergegeven op je computer, en omgekeerd.
Geavanceerde trucs: Scrapen en onderhoud
Als je een website tegenkomt die geen RSS-feed aanbiedt, kun je de HTML + XPath-methode gebruiken. Hiermee kun je content extraheren met behulp van de HTML-code van de pagina . Om dit te doen, inspecteer je het element in je browser, kopieer je de XPath uit de titel en de tekst van het artikel en plak je deze in de feedinstellingen. Houd er rekening mee dat deze methode kwetsbaar is, omdat de feed niet meer werkt als de website van ontwerp verandert.
Om ervoor te zorgen dat alles soepel verloopt, vergeet niet om het volgende te doen: regelmatige back-ups vanuit de datafolder en de SQLite-database. Het is ook aan te raden de database te optimaliseren via het onderhoudsmenu en de Docker-image up-to-date te houden door een commando uit te voeren. docker compose pull af en toe.
Een eigen nieuwslezer is een rechtstreekse weg naar intellectuele onafhankelijkheid, waardoor u informatie kunt filteren zonder inmenging. Door de kracht van FreshRSS te combineren met de flexibiliteit van Docker en het gemak van gesynchroniseerde mobiele apps, krijgt u een privé, efficiënt systeem dat volledig onder uw controle staat en de manier waarop u op het web surft, verandert.
