← All templates · Feeds and bookmarks
Deploy Miniflux in one click
A minimalist, fast feed reader for RSS, Atom and JSON feeds
A self-hosted alternative to Feedly and Inoreader.
What is Miniflux?
Miniflux is a minimalist, opinionated feed reader that people run in place of Feedly or Inoreader. It follows RSS, Atom and JSON feeds, imports and exports OPML, and shows what is new in a plain, fast interface with keyboard shortcuts. For a site that sends only a summary, it fetches the original article and keeps its content, with scraper rules for the hard cases. Filters with regular expressions keep or drop articles, and podcasts and YouTube videos play inside it.
People self-host Miniflux to keep their subscriptions and reading on a server of their own, without ads or trackers: it strips tracking pixels and the tracking parameters of links. It is written in Go and runs on PostgreSQL only, and this template runs both, with the administrator made from the fields. The catch: there is no official mobile app, so phones use its responsive web page or a third-party app over the Fever or Google Reader API.
Hosting Miniflux on Pethost
- You sign in to Pethost with a passkey, GitHub or Google. No machine yet? You pick a plan, and the link waits until it is ready.
- New project opens at Miniflux. You fill in what it asks for and click Create project: Username, Admin password.
- In a minute or two Miniflux is live at its own address with HTTPS. Its secrets are made at random, and its data is in the nightly backup.
- It is a project like any other: you or your agent can change it, roll it back or restore it.
Questions about Miniflux
Is Miniflux free and open source?
Yes. Miniflux is open source under the Apache 2.0 license, and running it yourself costs only the server. Its author also runs a hosted Miniflux for $15 a year, on the same code.
Which apps work with Miniflux?
Apps that speak the Google Reader or Fever API, such as Reeder Classic and NetNewsWire on iOS and macOS, Capy Reader on Android and RSS Guard on desktops; others, such as FluxNews, use Miniflux’s own API. Turn the APIs on with a username and password in Settings → Integrations.
How do I move my feeds from Feedly to Miniflux?
Export your feeds from Feedly as an OPML file, then import it with Import on Miniflux’s Feeds page. Miniflux imports OPML from a file or a URL, and exports your feeds the same way.
Can Miniflux show the full article instead of a summary?
Yes. For a feed that sends only summaries, turn on Fetch original content in the feed’s settings, and Miniflux downloads each article and keeps its main text. Scraper Rules, written as CSS selectors, handle the sites it reads wrong.
Does Miniflux support multiple users?
Yes. The administrator adds accounts in Settings → Users, and each user has their own feeds, categories and settings. There is no public sign-up page.
How much memory and disk does Miniflux need?
Miniflux is very light: about 60 MB of memory with Postgres, and it removes read articles after 60 days and unread ones after 180, starred ones kept. On Pethost the Starter plan is enough for it, with room for other apps beside it.
Miniflux Docker Compose file
The template is this compose.yaml and the variables written into the project’s .env as it is created. Pethost runs the file as it is written.
Containers: miniflux (miniflux/miniflux:2.3.4), postgres (postgres:18-alpine).
Volumes, in the nightly backup: db.
services:
miniflux:
image: miniflux/miniflux:2.3.4
restart: unless-stopped
environment:
DATABASE_URL: postgres://miniflux:${POSTGRES_PASSWORD}@postgres/miniflux?sslmode=disable
RUN_MIGRATIONS: "1"
# The administrator is made from these before Miniflux answers, the first time only; there
# is no sign-up, so the other accounts are made by it under Settings → Users.
CREATE_ADMIN: "1"
ADMIN_USERNAME: ${ADMIN_USERNAME}
ADMIN_PASSWORD: ${ADMIN_PASSWORD}
BASE_URL: ${URL}
depends_on:
postgres:
condition: service_healthy
healthcheck:
test: ["CMD", "/usr/bin/miniflux", "-healthcheck", "auto"]
interval: 10s
timeout: 5s
retries: 3
start_period: 30s
postgres:
image: postgres:18-alpine
restart: unless-stopped
environment:
POSTGRES_DB: miniflux
POSTGRES_USER: miniflux
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- db:/var/lib/postgresql
healthcheck:
test: ["CMD-SHELL", "pg_isready -h 127.0.0.1 -U miniflux -d miniflux"]
interval: 5s
timeout: 5s
retries: 10
start_period: 30s
volumes:
db:
More in Feeds and bookmarks
- FreshRSSAn RSS and Atom feed reader
- RSSHubRSS feeds for sites that have none
- linkdingA bookmark manager with tags and search
- KarakeepA bookmark app for links, notes and images, with full-text search
- RSS-BridgeRSS and Atom feeds for sites that have none
- ArchiveBoxSave web pages, videos and articles as HTML, PDF, screenshots and media files, your own web archive