Miniflux is a self-hosted, opinionated feed reader designed for users who want a clean, fast, and privacy-respecting way to consume RSS, Atom, and JSON Feed content. It’s built for developers, journalists, and power users who dislike bloated platforms and want full control over their data. Miniflux eliminates tracking, ads, and third-party scripts while offering powerful content extraction and customization.
Built in Go with a static binary and PostgreSQL backend, Miniflux requires no external dependencies beyond a database. It supports HTTPS via Let’s Encrypt, runs on any Linux system, and deploys via Docker, Debian/RPM packages, or standalone binaries. The app adheres to Twelve-Factor App principles and includes a REST API, WebAuthn authentication, and 25+ third-party integrations for saving and sharing articles.
What You Get
- Multi-format Feed Support - Reads Atom 0.3/1.0, RSS 1.0/2.0, and JSON Feed 1.0/1.1 with automatic detection and parsing.
- OPML Import/Export - Imports and exports feed lists via OPML files and direct URL subscription.
- Privacy-First Tracking Removal - Automatically strips UTM parameters, fbclid, and other trackers from URLs; blocks pixel trackers and enforces Referrer-Policy: no-referrer.
- Media Proxy & YouTube Privacy - Uses youtube-nocookie.com and supports Invidious as an alternative player; proxies media to prevent third-party tracking and mixed content warnings.
- Full-Text Search with Postgres - Uses PostgreSQL’s full-text search to find articles by content, title, or author across all feeds.
- Custom Scraper & Rewrite Rules - Defines CSS selectors to extract article content and regex patterns to include/exclude articles based on title or URL.
- 20+ Language Support - Interface localized into 20 languages including Chinese, Japanese, Russian, and Spanish with full RTL support.
- WebAuthn & OAuth2 Login - Supports passkeys (WebAuthn), Google OAuth2, generic OpenID Connect, and reverse-proxy authentication for secure access.
- REST API & Client Libraries - Provides a documented REST API with official Go and Python client libraries for automation and integration.
- Bookmarklet & Home Screen Support - Subscribe to websites with a browser bookmarklet; add Miniflux to mobile home screens as a PWA without app store dependency.
- Third-Party Integrations - 25+ integrations including Notion, Instapaper, Pinboard, Telegram, Discord, Slack, Wallabag, and Ntfy for saving and sharing articles.
- HTTP/2, Caching & ETags - Respects Cache-Control, ETags, and If-Modified-Since headers; polls feeds every hour by default to reduce server load.
Common Use Cases
- Running a private news aggregation hub - A journalist uses Miniflux to collect articles from 50+ RSS feeds, strips tracking parameters, and saves relevant pieces to Notion for research—all without exposing their reading habits.
- Self-hosting a distraction-free reader for daily reading - A developer installs Miniflux on a Raspberry Pi to read technical blogs and newsletters without ads, popups, or JavaScript interference.
- Integrating feeds into a workflow with automation - A DevOps engineer uses the Miniflux REST API to trigger Slack alerts when new articles match a regex pattern (e.g., “Kubernetes update”).
- Privacy-conscious content curation for a team - A small media team shares a Miniflux instance with colleagues, using OPML to sync subscriptions and saving articles to Linkding for internal knowledge management.
Under The Hood
Architecture
- Single-entry-point main.go enforces strict separation between application bootstrap and business logic via the internal/cli package
- Internal packages (cli, api, store, service) follow Go best practices with clear modularity and encapsulation boundaries
- Constructor-based dependency injection eliminates global state, promoting testability and explicit dependencies
- Native interfaces and composition patterns enable loose coupling between service and data access layers
- Build system via Makefile integrates linters, static binary generation, and automated integration testing with database provisioning
Tech Stack
- Go backend with modular internal packages and no external frameworks, relying on standard library for core functionality
- PostgreSQL with SQL-based migrations and environment-aware configuration for flexible database management
- Cross-platform static binaries built with CGO disabled, deployed on minimal Alpine and distroless Docker images
- Comprehensive testing infrastructure with unit, integration, and race detection tests, all tied to automated database setup
- Code quality enforced through custom linters for logging, SQL usage, and header compliance
Code Quality
- Extensive test coverage across HTTP clients, data parsing, sanitization, and configuration logic with behavior-focused assertions
- Clear separation of concerns with domain-aligned packages and test files that mirror production code structure
- Robust error handling with explicit validation paths, structural assertions, and edge-case testing for malformed inputs
- Consistent naming conventions and strong type safety using typed structs and reflect.DeepEqual for structured validation
- Comprehensive input validation in handlers with no panics, ensuring predictable and safe execution
What Makes It Unique
- Native RSS feed discovery with integrated RSS-Bridge support enables dynamic sourcing from non-standard feeds without external dependencies
- Built-in HTTP client with proxy rotation and custom TLS/HTTP2 configuration ensures reliable feed retrieval in restrictive networks
- Unified server-side templating system with localization and dynamic UI components (WebAuthn, OAuth2) delivers rich user experience without client-side frameworks
- Coherent, granular API for full feed and entry lifecycle management—including content fetching and bulk operations—all within a self-contained system
- Zero-dependency architecture with embedded HTTP server, templating, and storage layers minimizes deployment complexity and attack surface