# 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. ## Install Save in your project root: # Miniflux — Minimalist Self-Hosted Feed Reader ## Quick Use ```bash 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 --link miniflux-db:db -p 8080:8080 -e DATABASE_URL=postgres://miniflux:secret@db/miniflux?sslmode=disable -e RUN_MIGRATIONS=1 -e CREATE_ADMIN=1 -e ADMIN_USERNAME=admin -e ADMIN_PASSWORD=test123 miniflux/miniflux:latest ``` ## Introduction Miniflux is a minimalist and opinionated feed reader that strips away everything unnecessary. Built as a single Go binary with PostgreSQL, it delivers a fast, clean reading experience. It supports RSS, Atom, RDF, and JSON Feed formats with a focus on content over chrome. ## What Miniflux Does - Fetches and displays RSS, Atom, RDF, and JSON Feed content in a clean reader - Provides a distraction-free reading interface with keyboard navigation - Supports Fever and Google Reader compatible APIs for third-party clients - Scrapes full article content when feeds only provide summaries - Integrates with read-later services like Pocket, Wallabag, and Linkding ## Architecture Overview Miniflux is a single Go binary that serves the web UI, API, and background feed fetcher. It uses PostgreSQL for all data storage including feeds, entries, and user settings. The feed fetcher runs as goroutines within the same process, polling feeds at configurable intervals. The web UI is server-rendered HTML with minimal JavaScript for a fast, lightweight experience. ## Self-Hosting & Configuration - Deploy via Docker Compose with a PostgreSQL container as the database - Configure database URL, admin credentials, and polling interval via environment variables - Set POLLING_FREQUENCY to control how often feeds are checked for new entries - Enable FETCH_ORIGINAL_CONTENT to scrape full articles from partial feeds - Run behind a reverse proxy with HTTPS using BASE_URL for correct link generation ## Key Features - Fever and Google Reader API compatibility for mobile and desktop clients - Full content scraping that fetches complete articles from truncated feeds - Keyboard shortcuts for efficient navigation without touching the mouse - Automatic HTTPS certificate management with built-in Let's Encrypt support - Read-later integration with Pocket, Wallabag, Linkding, and Espial ## Comparison with Similar Tools - **FreshRSS** — PHP-based with more extensions; Miniflux is leaner with a Go single-binary - **Tiny Tiny RSS** — Feature-rich PHP app; Miniflux trades features for simplicity and speed - **NewsBlur** — Full social reading platform; Miniflux is personal-use focused and minimal - **Inoreader** — Commercial SaaS; Miniflux is free, self-hosted, and privacy-respecting - **Yarr** — Single-binary Go reader; Miniflux adds multi-user support and third-party API compatibility ## FAQ **Q: Why does Miniflux require PostgreSQL?** A: Miniflux uses PostgreSQL for full-text search, JSON operations, and reliable concurrent access. SQLite is intentionally not supported. **Q: Can I use a mobile app with Miniflux?** A: Yes. Miniflux supports Fever and Google Reader APIs, so apps like Reeder, NetNewsWire, and FeedMe work with it. **Q: Does it support feed discovery?** A: Yes. Paste a website URL and Miniflux will auto-discover RSS and Atom feeds available on that page. **Q: How do I import feeds from another reader?** A: Miniflux supports OPML import and export for migrating feed subscriptions between readers. ## Sources - https://github.com/miniflux/v2 - https://miniflux.app/docs/ --- Source: https://tokrepo.com/en/workflows/95476ca4-39f2-11f1-9bc6-00163e2b0d79 Author: AI Open Source