NewsBlur

Personal news reader with training and sharing

RSS & News Readers ★ 7.6k stars Hard setup MIT

NewsBlur is a personal news reader that brings together feeds with intelligent training to highlight stories you care about. It targets readers who want a smart, social feed reader. It is deployed via Docker Compose.

Key features

  • Story training and filtering
  • Social sharing of stories
  • Original site view
  • Mobile apps

Pros & cons

Strengths

  • Smart story highlighting
  • Good mobile apps
  • Social features

Trade-offs

  • Complex multi-service stack
  • Heavy to self-host

NewsBlur replaces

Last reviewed Sep 13, 2026 · 942 words

NewsBlur is the heaviest RSS reader you can self-host by a wide margin: roughly 10 containers, PostgreSQL plus MongoDB plus Redis plus Elasticsearch, and 2 GB of RAM before you add a single feed. FreshRSS does 90% of the job in one container on 128 MB. The 10% NewsBlur keeps to itself is story training, and whether that feature is worth an order of magnitude more infrastructure is the whole decision.

Training is the feature, not the reader

Every feed reader shows you unread items. NewsBlur lets you tell it, per feed, that stories with this author, this tag, or these words in the title are worth reading, and that others are not. Thumbs up pushes a story into the Focus view; thumbs down hides it from Unread entirely. After a few weeks on a 200-feed subscription list, Focus becomes the only view you open, and a busy aggregator feed that posts 80 items a day collapses to the 3 that match your rules. Miniflux and FreshRSS both have keyword filters, but they are global regexes you maintain by hand, not a per-feed classifier you train by clicking. If you follow a handful of curated blogs, this buys you nothing. If you follow high-volume sources and skim for signal, it is the reason the project has survived since 2009.

The other distinctives are smaller. The Original view renders the source page inside the reader so you never leave for paywalled-looking sites. Blurblogs let you share stories with comments to other NewsBlur users, which on a private instance means your household. The iOS and Android apps are genuinely good and talk to your own server once you set the custom URL.

The stack is a small company's stack

The repository ships a Docker Compose setup driven by make nb, and it is honest about what it runs: the Django web app, Celery task workers for feed fetching, PostgreSQL for users and subscriptions, MongoDB for stories, Redis for sessions and the fetch queue, Elasticsearch for search, Nginx and HAProxy in front, plus a Node service for the Original view and image proxy. Expect the first build to take 15 to 30 minutes and the idle footprint to sit around 2 GB, rising as MongoDB caches stories. On a 4 GB VPS it works; on a Raspberry Pi it does not, and the MongoDB and Elasticsearch images have historically been x86-only or painful on ARM.

Two operational facts to plan around. Feed fetching is scheduled by Celery workers, so if the worker container dies quietly, your feeds silently stop updating while the web UI looks fine; put an Uptime Kuma check on a recently-updated feed, not just on the login page. And backups mean dumping two databases (PostgreSQL and MongoDB) in the same window, because subscriptions live in one and stories in the other.

The hosted service is the honest comparison

NewsBlur.com's premium tier costs about $36 a year at last check, and the code you would run is the same code the hosted service runs, published under MIT. That makes the self-host calculation unusual: you are not escaping a proprietary product, you are choosing to operate a multi-database system to save roughly $3 a month. The case for doing it anyway is the usual one, your reading history staying on your disk and the service outliving any business decision, plus unlimited feeds without a per-site cap. The case against is that a solo maintainer's deployment tooling, however good, assumes you can debug Celery and MongoDB when something goes wrong.

Where FreshRSS and Miniflux are the safer pick

For most people reading this, they are. Miniflux is a single Go binary and PostgreSQL, with keyword rules, and it runs for years untouched. FreshRSS adds multi-user, extensions, and web scraping for full-text feeds, all in PHP and SQLite. The FreshRSS vs Miniflux comparison covers that split. Both speak the Google Reader and Fever APIs, so every mobile client works. NewsBlur speaks only its own API, which its own apps and a few third-party clients support.

Pick NewsBlur over both only if you have tried per-feed training on the hosted service and found you miss it, or if you want the Original view and social sharing for a small group. If you have never used the trainer, you are about to run Elasticsearch for a feature you cannot yet evaluate.

Migration is one OPML file each way

Import and export are standard OPML from the account settings, so trying NewsBlur costs nothing but the deployment time. Training data does not export, which is the lock-in worth knowing about: a year of thumbs-up and thumbs-down clicks stays in MongoDB and will not follow you to another reader. Read counts and saved stories likewise stay put, though saved stories can be pulled out through the API if you script it. The broader case for RSS in 2026 applies to all of these tools equally.

What I'd do

Start on the hosted service for a month and train 20 feeds. If Focus view becomes the only thing you open, self-host on a 4 GB x86 box with the compose setup, monitor a feed's last-fetched time rather than the login page, and back up PostgreSQL and MongoDB together nightly. If after that month you are still reading the Unread list top to bottom, deploy FreshRSS instead, import the same OPML, and spend the saved 1.9 GB of RAM on something that needs it.

Compare NewsBlur

30 head-to-head comparisons.

Similar rss & news readers apps