Skip to content
Greffon
Tutorial

Self-Host FreshRSS with Greffon

An RSS reader is how you follow the web on your own terms, no algorithm in the middle. That is worth owning. Here is the honest setup for FreshRSS on a greffer.

GLGreffon Labs5 min read
~/blog/self-host-freshrss

An RSS reader is a small act of independence. Instead of a feed an algorithm decides for you, you follow the sites, blogs, and channels you actually picked, in the order they were published. FreshRSS is a fast, self-hosted aggregator that does exactly that, and Greffon takes the setup work off your plate so you can get to reading.

Why own the reader

FreshRSS is a free, self-hosted RSS and Atom feed aggregator. It pulls in the feeds you subscribe to, keeps your read and starred state, and serves it all through a clean web UI that works on a laptop or a phone browser. Grafting it onto a greffer means your subscription list and reading history live on a machine you own, not an account that can change its terms or shut down a sync service you depended on.

It is also light. FreshRSS runs comfortably on a modest greffer, which makes it a good first app to put on a box you are just bringing online.

Graft it from the catalog

On a greffer, you do not hand-write a compose file or wire a reverse proxy. Pick FreshRSS from the catalog and graft it onto your greffer. Greffon issues the certificate and routes the app, so it comes up reachable over HTTPS without you assembling that plumbing by hand. On first load FreshRSS walks you through creating the admin account and picking a database, then you are adding feeds.

Set a real admin password on first load
The FreshRSS install screen is publicly reachable until you complete it, so finish the setup and create your admin user promptly after the first start. Pick a strong password: this account can edit every feed and setting.

Reach it from anywhere

A reader is most useful when you can open it from your phone on the train and your laptop at home. On the same network as your greffer, that works the moment it starts. To reach it from anywhere else, you have two honest options.

FreshRSS is a plain HTTP web app, which is the easy case. The simplest path is tunnel mode: a greffer connects outbound to the manager's tunnel and serves its apps without opening a single inbound port, which is the answer for a box behind NAT or CGNAT with no public IP. If you would rather expose the greffer directly, port forwarding plus dynamic DNS still works. Either way the reader stays reachable over HTTPS.

Storage grows quietly

This is the tradeoff specific to a feed reader. FreshRSS keeps article history, and if you subscribe to busy feeds and never prune, the database grows steadily in the background. It is rarely dramatic, but on a small greffer with a tight disk it is the thing that eventually fills up if you ignore it.

FreshRSS has built-in retention settings: cap how many articles it keeps per feed, or expire articles older than a set age. Set those once when you graft it and the database stays bounded instead of growing forever.

Back up your feeds

Your subscription list and reading state are worth more than they look. Rebuilding a curated feed list from memory is tedious, and you lose your read and starred history outright. Greffon handles TLS and routing today, and native one-click backups are coming in M2. Until then, bring your own backup tool (restic or borgbackup are the usual choices), back up the FreshRSS data on a schedule, and store a copy off the greffer.

Export your OPML as a safety net
Beyond a full data backup, FreshRSS can export your whole subscription list as an OPML file from the settings. Keep one off the greffer. Even if you lose everything else, an OPML import rebuilds your feeds in seconds.

Keep it always-on

A reader you check across the day wants to be up when you reach for it, and it needs to be running to fetch new articles on schedule. Run it on an always-on greffer, a small VPS, a mini-PC, or a free Oracle Cloud box, rather than a laptop that sleeps at night. The Oracle walkthrough is a good place to get a greffer running before you graft the reader onto it.

FAQ

Can I import my feeds from another reader?
Yes. Most readers (Feedly, Inoreader, an old Google Reader export) can export your subscriptions as an OPML file. FreshRSS imports OPML directly from its settings, so you bring your whole list over in one step.
Does it have a mobile app?
The FreshRSS web UI is responsive and works well in a phone browser. It also exposes the Google Reader and Fever APIs, so third-party mobile apps that speak those (like Reeder or FeedMe) can sync against your greffer.
Will it fetch new articles while I am not looking?
Yes, as long as the greffer is running. FreshRSS refreshes feeds on a schedule, which is the main reason to keep it on an always-on machine rather than a laptop that sleeps.
Will it fill up my disk?
It can, slowly, if you subscribe to busy feeds and never prune. Set FreshRSS's per-feed article cap or age-based expiry when you graft it and the database stays bounded.
GL
Greffon Labs
We build Greffon, the simplest way to turn any machine into a server you own.

Ready to turn on your greffer?

Install in minutes. Deploy each app in seconds. Your server, your apps.

Read the docs