ConfigsApr 17, 2026·3 min read

Miniflux — Minimalist Self-Hosted Feed Reader

Miniflux is an opinionated, minimalist RSS and Atom feed reader written in Go that focuses on simplicity, speed, and content readability.

TL;DR
Miniflux is a fast, self-hosted RSS reader written in Go that prioritizes simplicity and readable content over feature bloat.
§01

What it is

Miniflux is an opinionated, minimalist RSS and Atom feed reader written in Go. It strips away the complexity of full-featured feed readers and focuses on three things: fast feed fetching, clean content rendering, and keyboard-driven navigation.

Miniflux runs as a single Go binary with PostgreSQL as its database. It targets developers and power users who want a self-hosted feed reader without the overhead of PHP, Redis, or complex deployment stacks.

§02

How it saves time or tokens

Miniflux's minimalism means less time configuring and more time reading. There are no themes, no social features, no recommendation algorithms. You add feeds, Miniflux fetches and displays them. The entire UI is a clean list of articles with keyboard shortcuts for navigation.

The read-it-later integration (Pocket, Wallabag, Pinboard) and API support make Miniflux a solid backbone for custom RSS workflows.

§03

How to use

  1. Deploy with Docker:
docker run -d --name miniflux-db \
  -e POSTGRES_USER=miniflux -e POSTGRES_PASSWORD=secret \
  -e POSTGRES_DB=miniflux postgres:15

docker run -d --name miniflux \
  -p 8080:8080 \
  -e DATABASE_URL='postgres://miniflux:secret@miniflux-db/miniflux?sslmode=disable' \
  -e RUN_MIGRATIONS=1 \
  -e CREATE_ADMIN=1 \
  -e ADMIN_USERNAME=admin \
  -e ADMIN_PASSWORD=changeme \
  miniflux/miniflux:latest
  1. Open http://localhost:8080 and add your RSS feeds.
  1. Use keyboard shortcuts: j/k to navigate, v to open, s to star.
§04

Example

# Miniflux API usage for custom integrations
# List all feeds
curl -u admin:changeme http://localhost:8080/v1/feeds

# Get unread entries
curl -u admin:changeme http://localhost:8080/v1/entries?status=unread

# Mark entry as read
curl -u admin:changeme -X PUT \
  http://localhost:8080/v1/entries \
  -d '{"entry_ids": [123], "status": "read"}'
§05

Related on TokRepo

§06

Common pitfalls

  • Miniflux requires PostgreSQL. SQLite is not supported. You need a running Postgres instance before deploying Miniflux.
  • The default polling interval is 60 minutes. Adjust POLLING_FREQUENCY if you need more frequent feed checks, but respect the feed source's rate limits.
  • Miniflux has intentionally few features. If you need folder organization, tag-based filtering, or social sharing, consider a more full-featured reader.

Frequently Asked Questions

Why does Miniflux require PostgreSQL?+

Miniflux uses PostgreSQL for its full-text search capabilities and JSONB support. The developer chose to support one database well rather than multiple databases poorly. This keeps the codebase simple.

Does Miniflux have a mobile app?+

Miniflux does not have an official mobile app, but its responsive web UI works well on mobile browsers. Third-party apps like Reeder and NetNewsWire can connect to Miniflux via its Fever or Google Reader compatible API.

Can I import my feeds from another reader?+

Yes. Miniflux supports OPML import. Export your feeds from your current reader as an OPML file and import it through the Miniflux web UI or API.

Does Miniflux support full-text RSS?+

Miniflux can fetch the full article content for feeds that only provide summaries. Enable the 'Fetch original content' option per feed. This uses a built-in scraper to extract the article body from the source page.

How much resources does Miniflux use?+

Very little. Miniflux is a single Go binary that uses about 30-50MB of RAM with hundreds of feeds. The PostgreSQL database is the main resource consumer, scaling with the number of stored articles.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets