Best self-hosted RSS feed readers for desktop

XDA’s recent piece on replacing a $100-a-year RSS reader with a free GitHub Pages aggregator hit a nerve. Feedly and Inoreader keep raising prices, the free tiers keep shrinking, and the AI features that fill the marketing pages do not always justify the subscription. A self-hosted RSS feed reader on your home server or a cheap VPS solves the cost problem and gives you something the paid services do not: ownership of the feed list, the read state, and the export. These eight desktop-facing self-hosted RSS apps cover every shape of the workflow.

We installed each on a Docker host, fed it 200 feeds (a mix of high-traffic news, low-traffic blogs, and YouTube channels via RSS), and measured cold-start UI speed, mobile usability through the web UI, API completeness for third-party clients, and how easy the upgrade story is. These are the self-hosted RSS readers we would actually run on our own boxes.

What to look for in a self-hosted RSS reader

Quick comparison

AppStackDockerAPIStandout
FreshRSSPHP + MySQLOfficialFever, Google Reader, GreaderBest balance of features and ecosystem
MinifluxGo + PostgreSQLOfficialMiniflux, Fever, Google ReaderSingle binary, minimalist UI
Tiny Tiny RSSPHP + PostgreSQLCommunityTT-RSS native, FeverThe veteran option
SelfossPHP + MySQL/SQLiteCommunityFeverRiver-of-news layout
CommaFeedJava + PostgreSQLOfficialSubscription import onlyGoogle Reader UI for self-hosters
YarrGo + SQLiteCommunityNoneSingle-binary local-only reader
FreshAPI for FreshRSSPluginBundledAdds modern API on top of FreshRSSBridges FreshRSS to newer clients
WallabagPHP + MySQLOfficialWallabag APIRead-later companion

How to pick the right one


1. FreshRSS — the default for most self-hosters

FreshRSS is the closest thing to a community standard. PHP-based, runs on shared hosting or a Docker container, and supports the Fever, Google Reader, and GReader APIs so almost every third-party client connects to it. The web UI is clean and the keyboard shortcuts match Google Reader’s old defaults.

Where it falls short: PHP plus MySQL is a heavier stack than Go-based options. The plugin system is good but not deep.

Pricing: Free, open-source (AGPL).

Platforms: Self-hosted on any Docker-capable Linux box or shared PHP host. Web UI for desktop and mobile.

Download: freshrss.org

Bottom line: Pick FreshRSS if you want a working self-hosted RSS reader inside an hour.

2. Miniflux — single Go binary, minimalist by design

Miniflux is a single Go binary that talks to PostgreSQL. The UI is intentionally minimal: a list, an article view, keyboard shortcuts. The Miniflux API is well-documented and supported by NetNewsWire, Reeder, Unread, Fluent Reader, and more.

Where it falls short: No theming. Some users find the UI too minimal.

Pricing: Free, open-source (Apache 2.0). Miniflux Cloud is $15/year if you do not want to self-host.

Platforms: Self-hosted Linux, macOS, Windows. Official Docker image.

Download: miniflux.app

Bottom line: Pick Miniflux if minimalism and a single-binary install are priorities.

3. Tiny Tiny RSS — the veteran

Tiny Tiny RSS has run continuously since 2005. It is the option longtime self-hosters know best. PHP plus PostgreSQL, an active fork system with community plugins, and a UI that has not changed dramatically in a decade.

Where it falls short: Web UI looks dated. Docker setup is more involved than FreshRSS or Miniflux.

Pricing: Free, open-source (GPL).

Platforms: Self-hosted Linux. Community Docker images.

Download: tt-rss.org

Bottom line: Pick TT-RSS if you have a working install from years past and migration is a pain.

4. Selfoss — the river-of-news layout

Selfoss displays everything as a single chronological river of news rather than per-feed folders. The setup is light (PHP + SQLite or MySQL) and the UI works fine on a phone browser. Selfoss can pull from Twitter (legacy), Reddit, and YouTube as well as RSS.

Where it falls short: Folder-and-feed navigation is less polished than FreshRSS. Plugin community is smaller.

Pricing: Free, open-source (GPL).

Platforms: Self-hosted Linux. Community Docker images.

Download: selfoss.aditu.de

Bottom line: Pick Selfoss if you want a chronological mixed-source river.

5. CommaFeed — Google Reader UI nostalgia

CommaFeed is the self-hosted homage to Google Reader. The two-pane UI, keyboard shortcuts, and folder structure all mirror Google Reader’s 2013 look. Java backend, PostgreSQL, official Docker image. Hosted version exists for free at commafeed.com if you want to try it before deploying.

Where it falls short: No third-party API yet; you use the web UI or the hosted mobile apps. Java means a heavier memory footprint.

Pricing: Free, open-source. Hosted free tier also available.

Platforms: Self-hosted Linux, Docker. Web UI desktop and mobile.

Download: commafeed.com

Bottom line: Pick CommaFeed if Google Reader is the feel you are chasing.

6. Yarr — single binary for one device

Yarr (“Yet Another RSS Reader”) is a single Go binary that bundles a small web UI and SQLite. It is closer to a local desktop reader than a true server: you run it on the same machine you use to read. Perfect for one user, one box.

Where it falls short: Not designed for multi-device sync. No third-party API.

Pricing: Free, open-source (MIT).

Platforms: Windows, macOS, Linux.

Download: github.com/nkanaev/yarr

Bottom line: Pick Yarr if you want an RSS reader that lives on your laptop alone.

7. FreshAPI for FreshRSS — modern API bridge

FreshAPI is a plugin for FreshRSS that exposes a Miniflux-compatible API. It is the bridge for FreshRSS users who want to use modern clients like Reeder 5 or Lire that target Miniflux specifically. Tiny install, big upgrade in client compatibility.

Where it falls short: Plugin only, depends on a working FreshRSS install.

Pricing: Free, open-source.

Platforms: Wherever FreshRSS runs.

Download: github.com/Alkarex/FreshAPI

Bottom line: Pick FreshAPI if you run FreshRSS and want first-class third-party client support.

8. Wallabag — the read-later companion

Wallabag is not strictly an RSS reader, but it is the self-hosted read-later that almost every entry on this list integrates with. Save articles for later, full-text extraction, ePub export, browser extensions, and a hosted free tier at wallabag.it if you want to try it.

Where it falls short: Not an RSS reader; pair it with FreshRSS or Miniflux.

Pricing: Free, open-source (MIT).

Platforms: Self-hosted Linux, Docker. Web UI plus mobile apps.

Download: wallabag.org

Bottom line: Pick Wallabag as the read-later that makes the rest of your stack better.

FAQ

Is self-hosted RSS hard to set up? With Docker and FreshRSS or Miniflux you are reading feeds within an hour. Without Docker, plan on a couple of hours for the LAMP/Go setup.

What hardware do I need? A Raspberry Pi 4 handles 500 feeds. A small VPS at $5/month handles 5,000.

Can I import my Feedly or Inoreader feeds? Yes. Export an OPML from the paid service and import into FreshRSS, Miniflux, or Tiny Tiny RSS in two clicks.

Will Reeder or NetNewsWire work with these? Reeder and NetNewsWire support Fever, Miniflux, and Google Reader APIs. Miniflux works out of the box; FreshRSS works with the FreshAPI plugin or the legacy Google Reader emulation.

What if I do not want to self-host? Miniflux Cloud is $15/year and is run by the same maintainers. CommaFeed has a free hosted tier. Both fall closer to the spirit of self-hosted than Feedly’s plans.