Pourquoi un lecteur RSS auto-hébergé en 2026
Depuis plusieurs années, les plateformes de curation centralisées ont progressivement monétisé leurs services. Face à cette tendance, l'auto-hébergement d'un agrégateur RSS sur VPS reste la seule garantie de contrôle total sur ses flux, ses données et son budget.
Le flux RSS — standard ouvert, décentralisé, sans algorithme — reprend du terrain. Le rapport HN State of Homelab 2026 recense huit mentions de FreshRSS parmi les outils les plus déployés sur des VPS personnels, signe que le mouvement dépasse le cercle des enthousiastes historiques.
Au-delà du coût, la vie privée est un argument fort : un lecteur RSS auto-hébergé ne transmet aucune donnée de lecture à un tiers. Vous contrôlez la fréquence de polling, le stockage des articles et les règles de rétention. Sur un VPS standard (2 vCPU, 2 Go RAM), vous pouvez suivre plusieurs centaines de flux sans saturer les ressources — à condition de choisir le bon outil.
Ce que FreshRSS et Miniflux ont en commun
Les deux outils partagent les mêmes fondamentaux : conformité au standard RSS/Atom, import et export OPML, API compatibles Fever et Google Reader, et une intégration simple avec les applications mobiles comme Reeder, NetNewsWire ou Fluent Reader.
- Import/export OPML — les deux outils lisent et écrivent le format OPML standard, ce qui rend la migration réversible à tout moment
- API compatible Google Reader et Fever — la quasi-totalité des clients mobiles (Reeder, NetNewsWire, FeedMe) se connectent sans configuration particulière
- Déploiement Docker officiel — une image maintenue par les équipes core, avec des mises à jour régulières et des tags versionnés
- Multi-utilisateurs — chaque instance peut servir plusieurs comptes avec des abonnements et des préférences indépendants
- Polling configurable — intervalle de rafraîchissement réglable flux par flux ou globalement, avec support des headers
ETagetLast-Modifiedpour limiter la bande passante - Logiciel libre — code source disponible, auditable, sans télémétrie ni dépendance à un service externe propriétaire
- HTTPS natif — les deux s'intègrent derrière un reverse proxy (nginx, Caddy, Traefik) pour servir en HTTPS sans configuration additionnelle
FreshRSS vs Miniflux — comparatif technique
| Critère | FreshRSS | Miniflux |
|---|---|---|
| Empreinte RAM | ~50-80 Mo (PHP-FPM + web server) | < 20 Mo (binaire Go statique) |
| Licence | AGPL-3.0 | Apache-2.0 |
| Interface web | Riche, personnalisable, thèmes multiples | Minimaliste, épurée, keyboard-first |
| API | Google Reader + REST partielle | REST complète + Fever + Google Reader |
| Extensions / plugins | Extensions PHP tierces disponibles | Pas d'extension — fonctionnalités intégrées |
| Auth externe | HTTP Basic, OpenID Connect via plugin | HTTP Basic, proxy auth, OAuth2 intégré |
| Thèmes | Plusieurs thèmes inclus + thèmes communautaires | Un thème system (light/dark) |
| Base de données | SQLite, MySQL, PostgreSQL | PostgreSQL uniquement |
FreshRSS — quand l'interface compte
FreshRSS se distingue par une interface de lecture complète et personnalisable, avec support des thèmes, modes d'affichage multiples et un système d'extensions qui dépasse le cadre strict du RSS pour intégrer des sources non standard.
FreshRSS est un projet PHP lancé en 2012, hébergé sur GitHub sous licence AGPL-3.0. Avec plus de 10 000 étoiles GitHub, il bénéficie d'une communauté active qui produit des extensions, des thèmes et une documentation dense. C'est le choix naturel lorsque l'interface de lecture est centrale — pour un usage quotidien intensif ou pour un déploiement partagé entre utilisateurs aux habitudes différentes.
- Extensions PHP — un écosystème d'extensions permet d'ajouter des sources non-RSS (Twitter via Nitter, Reddit, YouTube), des règles de filtrage avancées et des intégrations (Wallabag, Instapaper)
- Thèmes visuels — plusieurs thèmes inclus (dont un mode sombre) et des thèmes communautaires CSS installables en quelques clics depuis l'interface d'administration
- API Google Reader complète — compatibilité éprouvée avec les clients mobiles les plus populaires, sans configuration particulière côté client
- Import OPML en masse — importation de listes de flux de plusieurs milliers d'entrées sans limite déclarée, avec détection des doublons
- Mode lecture intégré — extraction du contenu complet des articles via la bibliothèque interne, similaire à un lecteur de lisibilité, sans dépendance externe
- Gestion granulaire des catégories — organisation hiérarchique des flux avec des règles de marquage automatique et des filtres persistants par catégorie
- Flexibilité de la base de données — SQLite pour un démarrage sans configuration, PostgreSQL ou MySQL pour une montée en charge avec plusieurs utilisateurs actifs
Installer FreshRSS sur VPS avec Docker
Préparer le répertoire de données
Créez un répertoire persistant pour les données FreshRSS :
Créer le fichier docker-compose.yml
yaml
services:
freshrss:
image: freshrss/freshrss:latest
container_name: freshrss
restart: unless-stopped
ports:
- "8080:80"
volumes:
- /opt/freshrss/data:/var/www/FreshRSS/data
- /opt/freshrss/extensions:/var/www/FreshRSS/extensions
environment:
TZ: Europe/Paris
CRON_MIN: "*/15"
Démarrer le conteneur
Attendez que la ligne AH00558: apache2 apparaisse pour confirmer le démarrage.
Finaliser l'installation via le navigateur
Ouvrez http://votre-ip:8080 et suivez l'assistant d'installation : choisissez SQLite pour une instance personnelle ou PostgreSQL pour plusieurs utilisateurs. Créez le compte administrateur.
Configurer le reverse proxy nginx
Ajoutez un bloc server dans votre configuration nginx avec proxy_pass http://127.0.0.1:8080; et les en-têtes habituels (X-Real-IP, X-Forwarded-For, X-Forwarded-Proto). Activez HTTPS avec Let's Encrypt (Certbot ou acme.sh).
Importer vos flux OPML
Dans l'interface, allez dans Paramètres > Gestion des abonnements > Importer. Uploadez votre fichier .opml — FreshRSS détecte les doublons et importe les catégories existantes.
Miniflux — quand la performance prime
Miniflux adopte une philosophie inverse : binaire Go statique, empreinte mémoire inférieure à 20 Mo, interface délibérément épurée. Ses performances sur VPS modestes et sa résistance aux pics de charge en font le choix privilégié des administrateurs qui veulent fiabilité sans overhead.
Miniflux est un lecteur RSS écrit en Go, distribué sous licence Apache-2.0, conçu dès l'origine pour être un binaire unique sans dépendance — hormis PostgreSQL. Sa consommation mémoire en charge normale est inférieure à 20 Mo selon la documentation officielle de miniflux.app, ce qui en fait le choix de référence pour les VPS à faible RAM ou pour ceux qui hébergent de nombreux services en parallèle. L'interface est délibérément minimaliste : pas de thème, pas d'extension — mais une navigation au clavier complète et une API REST bien documentée.
- Binaire Go statique — aucune dépendance système (pas de PHP, pas de serveur web séparé) : un seul exécutable suffit, ce qui simplifie les mises à jour et les sauvegardes
- Moins de 20 Mo de RAM — empreinte mémoire mesurée en charge normale, idéale pour les VPS 512 Mo ou les serveurs qui hébergent déjà plusieurs services
- PostgreSQL exclusivement — un seul moteur de base de données à maîtriser, avec des migrations de schéma versionnées et appliquées automatiquement au démarrage
- API REST complète — documentation OpenAPI incluse, idéale pour intégrer Miniflux dans des workflows d'automatisation (n8n, Make, scripts personnalisés)
- Navigation clavier — raccourcis vi-like (
j/kpour naviguer,vpour ouvrir l'original) qui rendent la lecture rapide sans souris - OAuth2 et proxy auth natifs — intégration directe avec Authelia, Keycloak ou tout fournisseur OpenID Connect sans plugin additionnel
- Support Fever API — compatibilité avec les clients qui utilisent encore ce protocole, en plus de l'API Google Reader
Installer Miniflux sur VPS avec Docker
Préparer l'environnement PostgreSQL
Créez un fichier .env avec les variables de connexion :
Créer le fichier docker-compose.yml
yaml
services:
db:
image: postgres:16-alpine
restart: unless-stopped
environment:
POSTGRES_USER: miniflux
POSTGRES_PASSWORD: changeme
POSTGRES_DB: miniflux
volumes:
- /opt/miniflux/postgres:/var/lib/postgresql/data
miniflux:
image: miniflux/miniflux:latest
restart: unless-stopped
depends_on:
- db
ports:
- "8080:8080"
environment:
DATABASE_URL: postgres://miniflux:changeme@db/miniflux?sslmode=disable
RUN_MIGRATIONS: "1"
CREATE_ADMIN: "1"
ADMIN_USERNAME: admin
ADMIN_PASSWORD: changeme
Appliquer les migrations de schéma au premier démarrage
La variable RUN_MIGRATIONS=1 déclenche automatiquement les migrations PostgreSQL au démarrage. Miniflux refuse de démarrer si la base est dans un état incohérent — ce comportement protège contre les mises à jour partielles.
Vérifier que le service répond
La réponse attendue est 200. Miniflux expose ce point de terminaison sans authentification pour les health checks de votre orchestrateur.
Configurer le reverse proxy
Miniflux intègre son propre serveur HTTP — il suffit de proxifier le port 8080. Exemple nginx :
Importer vos abonnements OPML
Dans Paramètres > Importer, uploadez votre fichier OPML. Les catégories OPML sont converties en groupes Miniflux. Après l'import, déclenchez un rafraîchissement manuel (Paramètres > Rafraîchir tous les flux) pour peupler la base immédiatement.
Comment choisir entre FreshRSS et Miniflux
Le critère décisif n'est pas la popularité mais l'usage : FreshRSS convient aux lecteurs qui valorisent la personnalisation et les fonctionnalités avancées, tandis que Miniflux est taillé pour les profils techniques qui privilégient la robustesse et la légèreté.
Le critère décisif est rarement la liste de fonctionnalités — c'est la philosophie d'utilisation. Voici une grille de décision rapide.
- Choisissez FreshRSS si vous accordez de l'importance à une interface de lecture confortable avec des thèmes, si vous avez besoin d'extensions pour ingérer des sources non-RSS, ou si plusieurs utilisateurs aux habitudes différentes partagent l'instance
- Choisissez Miniflux si votre VPS a moins de 1 Go de RAM, si vous hébergez déjà de nombreux services et que chaque mégaoctet compte, ou si vous préférez une interface sans distraction orientée clavier
- Vous utilisez SQLite (base légère, pas de PostgreSQL sur votre VPS) : FreshRSS est le seul choix viable des deux — Miniflux exige PostgreSQL
- Vous avez besoin d'OAuth2 natif sans plugin tiers : Miniflux intègre cette fonctionnalité de base, là où FreshRSS nécessite une configuration additionnelle
- Vous prévoyez une automatisation poussée (webhooks, intégration n8n, scripts de traitement) : l'API REST documentée de Miniflux est plus complète et plus stable que celle de FreshRSS
- Vous venez de Feedly ou Inoreader et souhaitez retrouver une expérience proche : FreshRSS, avec ses thèmes et son mode lecture, réduira le dépaysement
Pour une expérience mobile optimale : FreshRSS expose une API Fever (pour Reeder, Unread, NetNewsWire) et une API Google Reader (pour Capy, FeedMe, ReadKit). Miniflux implémente l'API Fever et son propre endpoint REST/GraphQL. Les deux fonctionnent avec la majorité des clients RSS mobiles populaires.
Conclusion : choisir selon votre profil
Choisissez FreshRSS si vous avez besoin d'un lecteur polyvalent, utilisé par plusieurs personnes avec des préférences d'interface différentes, et que vous souhaitez une compatibilité maximale avec les extensions et clients tiers. Choisissez Miniflux si vous privilégiez la performance, la sobriété des ressources et une API REST moderne exploitable par vos propres scripts ou intégrations. Les deux s'installent en 15 minutes sur un VPS 1 Go RAM.
Notre offre VPS Cloud inclut des images pré-configurées pour l'auto-hébergement, avec des snapshots quotidiens et une connexion SSH sécurisée. Pour aller plus loin, consultez notre guide sur la sauvegarde de votre instance FreshRSS avec Restic et notre comparatif des gestionnaires de mots de passe self-hosted pour compléter votre stack souverain.