Situatie
FreshRSS is an RSS and Atom feed aggregator that you can self-host, meaning you run the software that keeps it in operation. You create a FreshRSS server and then connect to it using either the web interface or a client app.
Solutie
There are multiple ways you can get a FreshRSS server set up. The easiest might be running it in a Docker container, if you’re familiar with Docker already. You can follow the Docker instructions for FreshRSS if that floats your homelab boat.
I had already been playing with the DietPi operating system on my Raspberry Pi 4 B, and DietPi includes FreshRSS as one of the services it can automatically install and configure for you. I was able to simply SSH into my Pi instance and select FreshRSS through the “dietpi-software” TUI app.
After the installation script completed, I opened a web browser on my laptop and headed to my Raspberry Pi’s IP address with /freshrss appended to the end to access the web app. If you’re not sure what your Pi’s address is, see our guide to finding a Linux IP address.
One of DietPi’s convenient features is that it sets a default admin login for every app you install, so I used that quickly log in to get started. To avoid relying on the administrator account for my daily use, I went to FreshRSS’ settings and, under Administration > Manage Users, I created a personal account.
I also knew that I’d want to use dedicated desktop and mobile apps to read my feeds rather than just the web app, which meant I had to enable API access. You’ll need to do that on your server too if you don’t want to rely on just the web app.
In the administrator account, go to Settings > Administration > Authentication. Check the box for “Allow API access” and click “Submit”.
With that configuration done, I logged out of the administrator account and logged into my new personal one.
Now it was time to import my feeds. Until this point, I had been using the Akregator feed reader, so I exported my colection of feeds from Akregator as an OPML file. If you’re already using a different reader, you should find some sort of export tool in the settings, so that you don’t have to add every feed you want one-by-one again.
In FreshRSS, I clicked the big blue Subscription Management button in the left-hand corner and found the Import/Export option in the navigation menu. After importing my OPML file full of feeds, I was able to start loading feeds in the web app and reading articles.
At this point, you could just bookmark the web app and open it whenever you want to read your feeds. I decided, though, I wanted to try a dedicated desktop app, just to see if I like it better. I’m used to the Akregator app, after all, but Akregator doesn’t support remote services.
The FreshRSS GitHub page has a list of supported apps and APIs. If you’re not sure which API to use, your best bet is Google Reader (abbreviated to GReader in some of the FreshRSS docs).
Before you proceeding, though, you need to set your FreshRSS account’s API password (which will only be configurable if you enabled API access, as I did earlier). The password should be different from your user password, to keep your account safe.
Once that’s set, you’re ready to log in with any reader app that supports FreshRSS’s APIs. On my Kubuntu laptop, I got RSS Guard, a simple, open source reader that supports my Linux desktops. When using RSS Guard for the first time, I just had to select the Google Reader API and then enter my FreshRSS instance’s address, my username, and my API password.
I also wanted to be able to read on my mobile phone, so I found an open source Android reader app that FreshRSS recommends, Readrops. Again, I just had to enter my FreshRSS’ instance address, my username, and my API password.