mrkeyoor.com_
Tue 01 Sept 18:27 UTC
Self-Hostedevaluationupdated 01 Sept 2026

v2 review

Miniflux is a self-hosted feed reader that collects updates from websites into one clean reading queue. It solves the problem of following many sites without surrendering your reading habits to an ad-funded platform.

trackingstars / 7d
Verdict

Our build succeeded in 39 seconds, and all 96 tests passed. Miniflux is an unusually coherent choice for readers who want a quiet, privacy-aware feed inbox and are comfortable owning a PostgreSQL service. Use it when the deliberate limits are appealing; choose a more configurable rival if interface experimentation is the point.

We ran it

Install✓ · 161s69 packages
Build✓ · 39s
Tests✓ · 20s96 passed · 0 failed of 96 (go test)
Repo655 files~83,297 lines of source · 4.9 MB · 9 CI workflows

Answers from our run

Does v2 build from source?

Dependencies installed in 161 seconds (69 packages), and the build succeeded in 39 seconds. We cloned commit a84533d into a clean Debian container with 3 CPUs and no project-specific setup.

Do v2's tests pass?

Yes: 96 of 96 passed when we ran the project's own test command (go test). Some failures need services or credentials a bare container does not have.

Who should not use v2?

Anyone unwilling to operate PostgreSQL, because it is mandatory

What are the alternatives to v2?

FreshRSS, NewsBlur, Feedbin. Our build succeeded in 39 seconds, and all 96 tests passed.

Setup3/5Clean build, but PostgreSQL and server operations remain mandatory
Docs5/5Dedicated guides cover install, upgrades, config, UI, API, and rules
Community4/59,638 stars and recent code activity, with 281 open issues
Maturity5/5Versioned releases, packages, APIs, tests, and deployment options

Who it’s for

People who want a focused, self-hosted RSS reader
Privacy-conscious readers who value tracker removal and sanitized articles
Small teams or households that need multiple accounts and flexible sign-in
Developers who want a REST API, webhooks, or established mobile-app protocols

Who it’s NOT for

Anyone unwilling to operate PostgreSQL, because it is mandatory
People wanting a highly visual magazine interface rather than an opinionated reading queue
Users who need support for old browsers
Anyone expecting a native mobile app maintained by the project

Setup reality

Our install succeeded in 161 seconds with 69 packages installed, the build succeeded in 39 seconds, and the test run finished in 20 seconds with 96 of 96 tests passing. That is a clean developer setup, but it does not prove a complete production deployment: the README's single-static-binary pitch is credible at build time, while real operation still requires PostgreSQL, configuration, and normal server care. Official packages, prebuilt binaries, and published container images should reduce the work for many operators, although our checkout itself had no Dockerfile.

Miniflux 2 makes restraint a product decision

Miniflux is for people who regard a feed reader as an inbox, not a discovery network. Its 9,638 GitHub stars suggest that this narrow idea has found a substantial audience. It accepts Atom 0.3 and 1.0, RSS 1.0 and 2.0, plus JSON Feed 1.0 and 1.1, then gives readers categories, bookmarks, search, and public article sharing without adding recommendations.

The architecture follows the same restrained approach. The application is written in Go, bundles its static assets, and can ship as 1 statically compiled binary, but PostgreSQL is compulsory. Feed fetching runs through an internal scheduler or cron, with a default polling interval of 1 hour. It remains a server application requiring database backups, upgrades, and secure network exposure.

What happened when we ran it

On our box, installation succeeded in 161 seconds and installed 69 packages. The build then completed successfully in 39 seconds. Tests took another 20 seconds, with 96 passing and 0 failing out of 96. Those results came from commit a84533d in an unprivileged Debian container with 3 CPUs, 8 GB of RAM, no secrets, and the golang:1.24-bookworm image.

The checkout contained 655 files, about 83,297 lines of source, and occupied 4.9 MB. We found 9 CI workflow files, no Dockerfile, and no separate tests directory. Published images may still exist, but our repository inspection did not validate a local image build. Passing Go tests supports code health, not production performance or PostgreSQL operations under load.

Three feed families and privacy controls are the strongest case

Format support is broad enough for ordinary web publishing, and OPML import and export make migration practical. Miniflux handles multiple enclosures for podcasts, video, music, and images, can play YouTube through the privacy-focused youtube-nocookie.com domain, and offers local article extraction with Readability. Full-text search uses PostgreSQL, while regex filters, CSS-selector scraper rules, and rewriting rules offer precise control when a publisher's feed is incomplete.

Privacy work goes beyond a dark theme and a promise. The README documents pixel-tracker removal, stripping of parameters such as utm_source and fbclid, a media proxy, sanitized external content, blocked external JavaScript, a no-referrer policy, Content Security Policy, and Trusted Types. These 7 distinct layers reduce common tracking and content risks. Administrators can also use an alternative YouTube player, proxies, custom user agents, or per-site cookies when difficult feeds demand them.

PostgreSQL is the unavoidable rough edge

The single-binary description can sound easier than the whole deployment really is. PostgreSQL remains a second stateful system needing credentials, storage, upgrades, monitoring, and backups. Automatic Let's Encrypt support and systemd sd_notify integration help, while Debian and RPM packages plus prebuilt binaries cover common installation paths. Still, this is not a 1-command appliance according to our source run, and we did not test a live database migration or HTTPS setup.

Some flexibility also creates sharp tools. Custom JavaScript and stylesheets can personalize the interface, custom cookies can unlock protected feeds, and invalid certificates may be allowed when explicitly enabled. Each option shifts responsibility back to the operator. Compatibility is limited to modern browsers, and people seeking native iOS or Android clients have 2 routes: the responsive web interface or a compatible third-party app through the Fever or Google Reader API.

More than 25 integrations place it well in an existing stack

Miniflux lists more than 25 external destinations, including Wallabag, Readwise Reader, Readeck, Linkding, Matrix, Slack, Telegram, and Ntfy. That makes it useful as a collection and triage layer rather than a dead-end reading silo. Webhooks support custom event handling, a bookmarklet adds subscriptions from the browser, and the REST API has documented Go and Python clients. These are practical connection points for archiving, notifications, and personal automation.

Authentication is similarly suitable for a small organization. Alongside local passwords, Miniflux supports passkeys, Google OAuth2, generic OpenID Connect, and reverse-proxy authentication. Its 20 listed interface languages broaden household and team use. The project provides the reader and integration surface, while identity-provider configuration, proxy policy, and third-party credentials remain deployment work for the administrator.

Version 2.3.3 and an August push indicate active maintenance

The latest release, version 2.3.3, arrived on July 24, 2026, and the repository was pushed again on August 24, only 8 days before this review. That combination is stronger evidence of current maintenance than an old tag viewed alone. The GitHub Trending item also recorded 4 additional stars that day, although a single daily movement says little about long-term contributor depth.

There are 281 open issues. Against 9,638 stars, that queue is material but not automatically alarming, and the supplied data does not show issue age, response time, or closure rate. One release date is insufficient to calculate a reliable cadence. Recent release and push activity show ongoing work, while operators should inspect issues that touch their authentication, database, or scraping needs.

One binary belongs beside PostgreSQL, backups, and a proxy

In a real stack, Miniflux fits behind an existing reverse proxy, beside a backed-up PostgreSQL instance, and inside normal monitoring. Its 1-hour default polling interval should be reviewed against feed volume and publisher expectations. The README says memory use is only a couple of MB and CPU use is negligible for several hundred feeds, but our run did not measure those claims, so capacity planning should use the operator's own feed mix.

The best buyer wants a dependable reading queue more than endless customization. Our 96-test pass and successful build make the codebase worth serious evaluation, while versioned packages, upgrade documentation, APIs, and authentication choices support production use. Miniflux does not remove the chores of self-hosting, but keeps the application focused enough that those chores buy a clear result: a private feed reader with few distractions.

Alternatives

ProjectWhat it isPick it when
FreshRSSA feature-rich self-hosted feed reader with a broader, more configurable interface.Pick this instead when many user-facing options and extension flexibility matter more than Miniflux's restraint.
NewsBlurAn open-source news reader with hosted and self-hosted paths and richer feed triage.Pick this instead when training, story intelligence, or a more elaborate reading workflow is central.
FeedbinAn open-source feed reader behind a polished hosted service.Pick this instead when a managed service is preferable to maintaining your own PostgreSQL-backed reader.

What people are saying

  1. [github-trending] miniflux/v2
  2. [producthunt] Spline V2
  3. [lobsters] A Preview of DuckDB v2.0
  4. [hackernews] A Preview of DuckDB v2.0

Sources

  1. Miniflux v2 repository
  2. Miniflux official website

More self-hosted reviews

OpenShell · wigolo · Mindwtr · club-3090 · reclip · Mindustry · the whole board →