[{"data":1,"prerenderedAt":241},["ShallowReactive",2],{"seo-verification":3,"blog-freshrss-vs-miniflux-which-rss-reader-for-your-vps-en":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"id":7,"slug":8,"slugs":9,"title":13,"excerpt":14,"readTime":15,"views":16,"isPinned":17,"publishedAt":18,"category":19,"categories":24,"featuredImage":26,"bgImage":27,"posterImage":28,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":183,"ctaBody":184,"ctaButton":185,"ctaUrl":186,"relatedPosts":187},324,"freshrss-vs-miniflux-which-rss-reader-for-your-vps",{"fr":10,"en":8,"ar":11,"es":12},"freshrss-vs-miniflux-comparatif-lecteur-rss","freshrss-مقابل-miniflux-أي-قارئ-rss-لخادمك-الافتراضي","freshrss-vs-miniflux-que-lector-rss-elegir-para-tu-vps","FreshRSS vs Miniflux: which RSS reader for your VPS","FreshRSS or Miniflux on a VPS? Full 2026 comparison: RAM, licence, extensions, API and Docker install guide to pick the right self-hosted RSS reader.",10,0,false,"2026-09-03T00:00:00+00:00",{"id":20,"name":21,"slug":22,"color":23,"icon":22},5,"Comparison","comparatif","bg-info\u002F10 text-info",[25],{"id":20,"name":21,"slug":22,"color":23,"icon":22},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Ffreshrss-vs-miniflux-comparatif-lecteur-rss-poster.svg",{"categorySlug":30,"appSlug":31},"collaboration-productivity","freshrss","The SaaS exodus is accelerating in 2026 and the self-hosted RSS reader is becoming a common choice again among developers. FreshRSS and Miniflux dominate this space: two mature, open-source, Docker-ready projects with radically different philosophies. This guide compares both in depth so you can choose based on your priorities — performance or feature richness.",[34,37,40,42,52,92,94,96,105,127,129,131,140,160,162,164,172,176,180],{"type":35,"title":36},"h2","Why a self-hosted RSS reader in 2026",{"type":38,"body":39},"p","RSS — an open, decentralised, algorithm-free standard — is regaining ground. The HN State of Homelab 2026 report lists eight mentions of FreshRSS among the most deployed tools on personal VPS servers, a sign that the movement extends beyond historical enthusiasts.\n\nBeyond cost, privacy is a strong argument: a self-hosted RSS reader shares no reading data with any third party. You control polling frequency, article storage and retention rules. On a standard VPS (2 vCPU, 2 GB RAM), you can follow hundreds of feeds without saturating resources — provided you pick the right tool.",{"type":35,"title":41},"What FreshRSS and Miniflux have in common",{"type":43,"items":44},"ul",[45,46,47,48,49,50,51],"**OPML import\u002Fexport** — both tools read and write the standard OPML format, making migration reversible at any time","**Google Reader and Fever API compatibility** — virtually all mobile clients (Reeder, NetNewsWire, FeedMe) connect without special configuration","**Official Docker deployment** — a core-team maintained image with regular updates and versioned tags","**Multi-user** — each instance can serve multiple accounts with independent subscriptions and preferences","**Configurable polling** — refresh interval adjustable per feed or globally, with ETag and Last-Modified header support to limit bandwidth","**Free software** — source code available, auditable, without telemetry or dependency on a proprietary external service","**Native HTTPS** — both integrate behind a reverse proxy (nginx, Caddy, Traefik) to serve over HTTPS without additional configuration",{"type":53,"title":54,"rows":55,"headers":88},"comparison","FreshRSS vs Miniflux — technical comparison",[56,60,64,68,72,76,80,84],[57,58,59],"RAM footprint","~50-80 MB (PHP-FPM + web server)","\u003C 20 MB (static Go binary)",[61,62,63],"Licence","AGPL-3.0","Apache-2.0",[65,66,67],"Web interface","Rich, customisable, multiple themes","Minimalist, clean, keyboard-first",[69,70,71],"API","Google Reader + partial REST","Full REST + Fever + Google Reader",[73,74,75],"Extensions \u002F plugins","Third-party PHP extensions available","No extensions — features built-in",[77,78,79],"External auth","HTTP Basic, OpenID Connect via plugin","HTTP Basic, proxy auth, built-in OAuth2",[81,82,83],"Themes","Multiple built-in themes + community themes","One system theme (light\u002Fdark)",[85,86,87],"Database","SQLite, MySQL, PostgreSQL","PostgreSQL only",[89,90,91],"Criterion","FreshRSS","Miniflux",{"type":35,"title":93},"FreshRSS — when the interface matters",{"type":38,"body":95},"FreshRSS is a PHP project started in 2012, hosted on GitHub under the AGPL-3.0 licence. With over 10,000 GitHub stars, it benefits from an active community producing extensions, themes and thorough documentation. It is the natural choice when the reading interface is central — for intensive daily use or for a deployment shared among users with different habits.",{"type":43,"items":97},[98,99,100,101,102,103,104],"**PHP extensions** — an extension ecosystem allows adding non-RSS sources (Twitter via Nitter, Reddit, YouTube), advanced filtering rules and integrations (Wallabag, Instapaper)","**Visual themes** — several built-in themes (including dark mode) and community CSS themes installable in a few clicks from the administration interface","**Full Google Reader API** — proven compatibility with the most popular mobile clients, without special configuration on the client side","**Bulk OPML import** — import feed lists of thousands of entries with no declared limit, with duplicate detection","**Built-in reader mode** — full article content extraction via the internal library, similar to a readability reader, with no external dependency","**Granular category management** — hierarchical feed organisation with automatic marking rules and persistent per-category filters","**Database flexibility** — SQLite for a zero-configuration start, PostgreSQL or MySQL for scaling with multiple active users",{"type":106,"title":107,"steps":108},"steps","Install FreshRSS on a VPS with Docker",[109,112,115,118,121,124],{"title":110,"body":111},"Prepare the data directory","Create a persistent directory for FreshRSS data:",{"title":113,"body":114},"Create the docker-compose.yml file","yaml\nservices:\n  freshrss:\n    image: freshrss\u002Ffreshrss:latest\n    container_name: freshrss\n    restart: unless-stopped\n    ports:\n      - \"8080:80\"\n    volumes:\n      - \u002Fopt\u002Ffreshrss\u002Fdata:\u002Fvar\u002Fwww\u002FFreshRSS\u002Fdata\n      - \u002Fopt\u002Ffreshrss\u002Fextensions:\u002Fvar\u002Fwww\u002FFreshRSS\u002Fextensions\n    environment:\n      TZ: Europe\u002FParis\n      CRON_MIN: \"*\u002F15\"",{"title":116,"body":117},"Start the container","Wait for the `AH00558: apache2` line to confirm startup.",{"title":119,"body":120},"Complete the installation via browser","Open `http:\u002F\u002Fyour-ip:8080` and follow the installation wizard: choose SQLite for a personal instance or PostgreSQL for multiple users. Create the administrator account.",{"title":122,"body":123},"Configure the nginx reverse proxy","Add a `server` block in your nginx configuration with `proxy_pass http:\u002F\u002F127.0.0.1:8080;` and the standard headers (`X-Real-IP`, `X-Forwarded-For`, `X-Forwarded-Proto`). Enable HTTPS with Let's Encrypt (Certbot or acme.sh).",{"title":125,"body":126},"Import your OPML feeds","In the interface, go to Settings > Subscription management > Import. Upload your `.opml` file — FreshRSS detects duplicates and imports existing categories.",{"type":35,"title":128},"Miniflux — when performance comes first",{"type":38,"body":130},"Miniflux is an RSS reader written in Go, distributed under the Apache-2.0 licence, designed from the ground up as a single binary with no dependencies — except PostgreSQL. Its memory consumption under normal load is under 20 MB according to the official miniflux.app documentation, making it the reference choice for low-RAM VPS instances or for those hosting many services in parallel. The interface is deliberately minimalist: no themes, no extensions — but complete keyboard navigation and a well-documented REST API.",{"type":43,"items":132},[133,134,135,136,137,138,139],"**Static Go binary** — no system dependencies (no PHP, no separate web server): a single executable is sufficient, simplifying updates and backups","**Under 20 MB RAM** — measured memory footprint under normal load, ideal for 512 MB VPS or servers already hosting multiple services","**PostgreSQL exclusively** — a single database engine to master, with versioned schema migrations applied automatically at startup","**Full REST API** — OpenAPI documentation included, ideal for integrating Miniflux into automation workflows (n8n, Make, custom scripts)","**Keyboard navigation** — vi-like shortcuts (j\u002Fk to navigate, v to open original) making reading fast without a mouse","**Native OAuth2 and proxy auth** — direct integration with Authelia, Keycloak or any OpenID Connect provider without additional plugins","**Fever API support** — compatibility with clients still using this protocol, in addition to the Google Reader API",{"type":106,"title":141,"steps":142},"Install Miniflux on a VPS with Docker",[143,146,148,151,154,157],{"title":144,"body":145},"Prepare the PostgreSQL environment","Create a `.env` file with the connection variables:",{"title":113,"body":147},"yaml\nservices:\n  db:\n    image: postgres:16-alpine\n    restart: unless-stopped\n    environment:\n      POSTGRES_USER: miniflux\n      POSTGRES_PASSWORD: changeme\n      POSTGRES_DB: miniflux\n    volumes:\n      - \u002Fopt\u002Fminiflux\u002Fpostgres:\u002Fvar\u002Flib\u002Fpostgresql\u002Fdata\n\n  miniflux:\n    image: miniflux\u002Fminiflux:latest\n    restart: unless-stopped\n    depends_on:\n      - db\n    ports:\n      - \"8080:8080\"\n    environment:\n      DATABASE_URL: postgres:\u002F\u002Fminiflux:changeme@db\u002Fminiflux?sslmode=disable\n      RUN_MIGRATIONS: \"1\"\n      CREATE_ADMIN: \"1\"\n      ADMIN_USERNAME: admin\n      ADMIN_PASSWORD: changeme",{"title":149,"body":150},"Apply schema migrations on first start","The `RUN_MIGRATIONS=1` variable automatically triggers PostgreSQL migrations at startup. Miniflux refuses to start if the database is in an inconsistent state — this behaviour protects against partial updates.",{"title":152,"body":153},"Verify the service responds","The expected response is `200`. Miniflux exposes this endpoint without authentication for your orchestrator's health checks.",{"title":155,"body":156},"Configure the reverse proxy","Miniflux includes its own HTTP server — simply proxy port 8080. Example nginx:",{"title":158,"body":159},"Import your OPML subscriptions","In Settings > Import, upload your OPML file. OPML categories are converted to Miniflux groups. After import, trigger a manual refresh (Settings > Refresh all feeds) to populate the database immediately.",{"type":35,"title":161},"How to choose between FreshRSS and Miniflux",{"type":38,"body":163},"The deciding factor is rarely the feature list — it is the usage philosophy. Here is a quick decision grid.",{"type":43,"items":165},[166,167,168,169,170,171],"**Choose FreshRSS** if you value a comfortable reading interface with themes, need extensions to ingest non-RSS sources, or multiple users with different habits share the instance","**Choose Miniflux** if your VPS has under 1 GB RAM, you already host many services and every megabyte counts, or you prefer a distraction-free keyboard-oriented interface","**You use SQLite** (lightweight database, no PostgreSQL on your VPS): FreshRSS is the only viable choice of the two — Miniflux requires PostgreSQL","**You need native OAuth2** without third-party plugins: Miniflux includes this feature out of the box, where FreshRSS requires additional configuration","**You plan heavy automation** (webhooks, n8n integration, processing scripts): Miniflux's documented REST API is more complete and stable than FreshRSS's","**You come from Feedly or Inoreader** and want a similar experience: FreshRSS, with its themes and reader mode, will reduce the learning curve",{"type":173,"content":174,"body":175},"tip","Migrating from FreshRSS to Miniflux (or the other way) is straightforward with OPML. In FreshRSS: Settings > Subscription management > Export > Download OPML file. In Miniflux: Settings > Import > upload the file. Read articles are not transferred — only subscriptions and categories migrate. Allow a few minutes of initial polling for Miniflux to populate recent articles from each feed.","Mobile client compatibility: FreshRSS exposes a Fever API (compatible with Reeder, Unread, NetNewsWire) and a Google Reader API (for Capy, FeedMe, ReadKit). Miniflux implements the Fever API and its own REST\u002FGraphQL endpoint. Both work with most popular mobile RSS clients.",{"type":35,"content":177,"title":178,"body":179},"Related guides and resources","Conclusion: choose based on your profile","Choose FreshRSS if you need a versatile reader used by multiple people with different interface preferences, and you want maximum compatibility with third-party extensions and clients. Choose Miniflux if you prioritise performance, low resource footprint and a modern REST API you can use in your own scripts or integrations. Both can be installed in 15 minutes on a 1 GB RAM VPS.",{"type":38,"content":181,"body":182},"If you are getting started with FreshRSS, our dedicated guide to hosting FreshRSS on a VPS covers advanced configuration (HTTP authentication, HTTPS, SQLite database backup) and the most useful extensions. If you have just left a closed service like Plex and want to regain control of your media, our Plex vs Jellyfin 2026 comparison gives you the same decision framework for video streaming. Finally, to understand the broader context of this self-hosting exodus, our article on the Great SaaS Exodus 2026 lists open-source alternatives to common SaaS tools and the reasons driving more and more developers to take back control of their infrastructure.","Our Cloud VPS plans include pre-configured images for self-hosting, daily snapshots and secure SSH access. For more, see our guide on backing up your FreshRSS instance with Restic, and our self-hosted password manager comparison to complete your sovereign stack.","Host your RSS reader on a fast, sovereign VPS","FreshRSS and Miniflux both run on our Cloud VPS. Deploy in minutes with Docker, no shared resources, with a dedicated IP address and generous traffic allocation.","Deploy FreshRSS or Miniflux on VPS","\u002Fvps-cloud",[188,210,227],{"id":189,"slug":190,"slugs":191,"title":195,"excerpt":196,"readTime":197,"views":198,"isPinned":17,"publishedAt":199,"category":200,"categories":206,"featuredImage":26,"bgImage":27,"posterImage":208,"relatedSolution":209},86,"host-freshrss-on-your-own-vps",{"fr":192,"en":190,"ar":193,"es":194},"heberger-freshrss","استضافة-freshrss-على-خادمك-الافتراضي-الخاص-vps","alojar-freshrss-en-un-vps","Host FreshRSS on Your Own VPS","Take back control of your news monitoring: deploy FreshRSS on your VPS with Docker, SSL and mobile access. Complete self-hosting guide.",4,1,"2026-03-26T00:00:00+00:00",{"id":201,"name":202,"slug":203,"color":204,"icon":205},7,"Self-hosting","self-hosting","bg-indigo-500\u002F10 text-indigo-400","cloud",[207],{"id":201,"name":202,"slug":203,"color":204,"icon":205},"\u002Fblog\u002Fcovers\u002Fheberger-freshrss-poster.svg",{"categorySlug":203,"appSlug":31},{"id":211,"slug":212,"slugs":213,"title":217,"excerpt":218,"readTime":219,"views":16,"isPinned":17,"publishedAt":220,"category":221,"categories":222,"featuredImage":26,"bgImage":27,"posterImage":224,"relatedSolution":225},292,"migrating-from-plex-to-jellyfin-after-the-july-2026-paywall",{"fr":214,"en":212,"ar":215,"es":216},"migrer-plex-vers-jellyfin-2026","الهجرة-من-plex-إلى-jellyfin-بعد-paywall-يوليو-2026","migrar-de-plex-a-jellyfin-2026","Migrating from Plex to Jellyfin after the July 2026 paywall","Plex put remote streaming behind a paywall in July 2026. Here's how to migrate to Jellyfin on your VPS: library intact, same clients, remote access restored.",9,"2026-08-22T00:00:00+00:00",{"id":201,"name":202,"slug":203,"color":204,"icon":205},[223],{"id":201,"name":202,"slug":203,"color":204,"icon":205},"\u002Fblog\u002Fcovers\u002Fmigrer-plex-vers-jellyfin-2026-poster.svg",{"categorySlug":30,"appSlug":226},"jellyfin",{"id":228,"slug":229,"slugs":230,"title":234,"excerpt":235,"readTime":219,"views":16,"isPinned":17,"publishedAt":236,"category":237,"categories":238,"featuredImage":26,"bgImage":27,"posterImage":240,"relatedSolution":26},313,"the-2026-saas-exodus-regaining-cost-control-with-self-hosting",{"fr":231,"en":229,"ar":232,"es":233},"great-saas-exodus-self-hosting-2026","saas-2026-استعادة-التحكم-في-التكاليف-بالاستضافة-الذاتية","exodo-saas-2026-control-de-costes-con-el-autoalojamiento","The 2026 SaaS Exodus: Regaining Cost Control with Self-Hosting","Slack +20%, 1Password +33%, Adobe CC: in 2026, SaaS costs keep rising. Migrating to VPS with open-source tools saves a team several thousand dollars per year.","2026-08-29T00:00:00+00:00",{"id":20,"name":21,"slug":22,"color":23,"icon":22},[239],{"id":20,"name":21,"slug":22,"color":23,"icon":22},"\u002Fblog\u002Fcovers\u002Fgreat-saas-exodus-self-hosting-2026-poster.svg",1788446469789]