Abstract teal and amber illustration representing Miniflux, a minimalist self-hosted RSS feed reader

Miniflux

Miniflux

Miniflux part d’un principe simple : moins il y a de pièces mobiles, mieux c’est. Le projet tient dans un unique binaire Go statique, sans dépendance externe autre qu’une base PostgreSQL, sans système de plugins, et sa propre FAQ résume tout l’esprit du projet en une phrase : « personne n’aime les usines à gaz ». Pour qui veut regrouper ses flux RSS et Atom dans une liste de lecture unique, sans publicité ni traqueur, sans pile PHP ni menu de réglages à trois niveaux, Miniflux est généralement le second nom qui revient juste après FreshRSS, et souvent celui vers lequel on finit par migrer.

Licence : Miniflux est distribué sous licence Apache License 2.0 (Apache-2.0), confirmée directement depuis le fichier LICENSE du dépôt GitHub miniflux/v2, pas déduite d’un badge.

En bref : site officiel miniflux.app · GitHub miniflux/v2 · version actuelle 2.3.2 (juin 2026) · image Docker miniflux/miniflux sur Docker Hub, également miroitée sur ghcr.io/miniflux/miniflux et quay.io/miniflux/miniflux.

Pourquoi le parti pris minimaliste est tout le projet

Le slogan du projet le dit sans détour : Miniflux se présente comme un « lecteur de flux minimaliste et affirmé », et ces partis pris sont documentés, pas accidentels. La FAQ officielle explique en toutes lettres pourquoi il n’existe aucun système de plugins : chaque extension ajoute de la complexité, et un plugin tiers non maintenu finit tôt ou tard par pourrir l’ensemble, donc la réponse par défaut à la plupart des demandes de fonctionnalités est non. L’interface suit la même logique : quelques thèmes clairs et sombres, une navigation entièrement au clavier, et peu de choses de plus à configurer. Les réglages de confidentialité sont tout aussi délibérés : les pixels espions sont retirés des articles, les paramètres de traçage comme utm_source ou fbclid disparaissent des URL, le JavaScript externe est bloqué d’office, et un proxy média intégré empêche les tiers de suivre le chargement des images. Rien de tout cela ne se cache derrière un « mode confidentialité » payant. C’est simplement le comportement par défaut.

Ce que Miniflux fait vraiment

Derrière ce minimalisme se cache un lecteur réellement complet. Miniflux prend en charge Atom 0.3/1.0, RSS 1.0/2.0 et JSON Feed, va chercher l’article original via un analyseur Readability local quand un flux ne publie qu’un résumé, et propose des règles de scraping et des filtres regex pour dompter les flux les plus récalcitrants. La recherche plein texte s’appuie directement sur PostgreSQL plutôt que sur un index rapporté après coup. Côté synchronisation, Miniflux parle à la fois l’API Fever et l’API Google Reader, ce qui permet à des applications mobiles existantes comme Reeder, NetNewsWire ou Miniflutt (conçue spécifiquement pour Miniflux) de se connecter directement à une instance auto-hébergée plutôt qu’aux serveurs d’une entreprise. Plus de 25 intégrations couvrent la lecture différée et les notifications, Pinboard, Wallabag, Telegram et Discord entre autres. Une API REST complète le tout, avec des clients officiels en Go et en Python. L’authentification va jusqu’aux clés d’accès (passkeys) et à OpenID Connect, pas seulement un mot de passe local.

Installer Miniflux avec Docker

La seule exigence non négociable, c’est PostgreSQL. La documentation de Miniflux le dit sans ambiguïté : l’application « fonctionne uniquement avec PostgreSQL », aucun repli SQLite ou MySQL, la plus grande différence avec le conteneur unique de FreshRSS. Un docker-compose.yml avec les deux services couvre un déploiement homelab classique :

services:
  miniflux:
    image: miniflux/miniflux:latest
    container_name: miniflux
    restart: unless-stopped
    ports:
      - "8080:8080"
    depends_on:
      db:
        condition: service_healthy
    environment:
      DATABASE_URL: postgres://miniflux:secret@db/miniflux?sslmode=disable
      RUN_MIGRATIONS: 1
      CREATE_ADMIN: 1
      ADMIN_USERNAME: admin
      ADMIN_PASSWORD: change-this-password

  db:
    image: postgres:16
    container_name: miniflux-db
    restart: unless-stopped
    environment:
      POSTGRES_USER: miniflux
      POSTGRES_PASSWORD: secret
      POSTGRES_DB: miniflux
    volumes:
      - miniflux-db:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "miniflux"]
      interval: 10s
      start_period: 30s

volumes:
  miniflux-db:
docker compose up -d

RUN_MIGRATIONS=1 applique le schéma de base de données au premier démarrage, et CREATE_ADMIN avec les variables de nom d’utilisateur et de mot de passe créent le tout premier compte ; ces quatre variables peuvent sans risque être retirées du fichier compose une fois ce premier lancement terminé. Connectez-vous sur http://ip-de-votre-serveur:8080 une fois que les deux conteneurs se signalent comme sains (healthy).

Pas de SQLite, pas de MySQL. Contrairement à FreshRSS, Nextcloud ou la plupart des autres applications homelab à conteneur unique, Miniflux refuse de démarrer sur autre chose que PostgreSQL, confirmé directement dans sa propre documentation. Il n’existe aucun repli plus léger pour un test rapide : prévoyez le conteneur supplémentaire et la RAM que PostgreSQL réclame avant de considérer ceci comme une installation de cinq minutes.

Premier lancement

  • Attendez que le healthcheck de miniflux-db passe au vert ; le conteneur applicatif utilise depends_on et ne démarre pas tant que Postgres ne se déclare pas prêt.
  • Connectez-vous avec les ADMIN_USERNAME et ADMIN_PASSWORD définis dans le fichier compose, puis changez le mot de passe et retirez ces variables.
  • Ajoutez des flux un par un via leur URL, ou importez un fichier OPML exporté depuis Feedly, Inoreader ou FreshRSS.
  • Connectez un client mobile via l’API Fever ou Google Reader depuis Paramètres puis Clés API.

Matériel : le binaire Go passe quasiment inaperçu comme processus. Les autohébergeurs de r/selfhosted rapportent régulièrement moins de 20 Mo de RAM utilisés, et c’est un choix courant sur Raspberry Pi. PostgreSQL est la moitié la plus lourde du duo : prévoyez son dimensionnement comme n’importe quel autre conteneur de base de données, pas comme un simple voisin de l’application. Notre guide de démarrage homelab pour débutants couvre le dimensionnement matériel pour une pile de ce genre.

Cas d’usage homelab

L’image Docker ne termine pas le HTTPS toute seule. La plupart des déploiements se placent donc derrière un reverse proxy comme Traefik ou Caddy, le même schéma que sur la majorité des piles Docker de ce site. Portainer mérite aussi sa place à côté, surtout pour surveiller ce conteneur de base de données séparé sans avoir à mémoriser les commandes psql. Et comme Miniflux a de toute façon besoin de PostgreSQL, il s’associe naturellement à d’autres applications qui reposent elles aussi sur Postgres dans la même pile : Wiki.js en est un exemple courant, puisqu’un seul conteneur PostgreSQL peut héberger une base distincte par application plutôt que de faire tourner un Postgres par service.

Miniflux : avantages et inconvénients

  • Gratuit et entièrement open source sous Apache-2.0 ; l’hébergement payant optionnel reste une simple commodité, pas une porte verrouillée
  • Binaire Go statique unique, léger en CPU comme en mémoire
  • Réglages de confidentialité agressifs par défaut : suppression des traqueurs et des paramètres de tracking, aucune télémétrie, JavaScript externe bloqué
  • Large compatibilité mobile grâce aux API Fever et Google Reader
  • Impose PostgreSQL, sans repli SQLite ou MySQL pour un test plus léger
  • Aucun système de plugins ni découverte de flux intégrée, un choix assumé, pas un oubli
  • Le filtrage repose sur des règles regex plutôt que sur une interface cliquable
  • Écosystème d’applications tierces plus restreint que chez les lecteurs plus grand public

Miniflux vs FreshRSS

FreshRSS et Miniflux sont comparés en permanence parce qu’ils résolvent le même problème par deux chemins opposés. FreshRSS embarque une base SQLite prête à l’emploi, un assistant d’installation, du web scraping pour les sites sans flux, et un système d’extensions, le tout dans un conteneur unique facile à déployer sur presque n’importe quel hébergeur. Miniflux réduit cette surface à un binaire Go et une chaîne de connexion PostgreSQL, et traite l’absence de système de plugins comme une fonctionnalité plutôt que comme un manque. L’arbitrage se joue sur cette base de données : le SQLite par défaut de FreshRSS reste réellement le premier déploiement le moins frictionnel, tandis que Miniflux demande un second conteneur dès le départ en échange d’une application plus légère et plus rapide une fois lancée. Aucun des deux n’est objectivement « meilleur » : FreshRSS convient à qui veut plus de surface fonctionnelle intégrée et une installation plus facile, Miniflux convient à qui fait déjà tourner Postgres quelque part et veut la plus petite empreinte possible par-dessus.

FAQ

Miniflux est-il gratuit ?

Oui. Il est distribué sous licence Apache License 2.0 avec le code source complet sur GitHub, sans mur payant dans le logiciel auto-hébergé. Miniflux propose aussi une version hébergée optionnelle à 15 $/an pour qui préfère ne pas gérer de serveur du tout, mais il s’agit d’un produit de confort séparé, pas d’une obligation.

Miniflux a-t-il vraiment besoin de PostgreSQL ?

Oui, sans alternative. La documentation du projet indique noir sur blanc que Miniflux « fonctionne uniquement avec PostgreSQL ». SQLite et MySQL, tous deux proposés par FreshRSS, ne sont pas pris en charge du tout.

Miniflux est-il meilleur que FreshRSS ?

Tout dépend de ce qu’on optimise : Miniflux est plus léger et plus rapide une fois lancé, avec un périmètre fonctionnel plus restreint ; FreshRSS est plus rapide à faire tourner depuis zéro et embarque davantage de fonctions d’origine, comme le web scraping et les extensions. Les deux sont gratuits, open source et activement maintenus.

À qui s’adresse Miniflux ?

Aux personnes déjà à l’aise avec un conteneur PostgreSQL, qui veulent le lecteur le plus petit et le plus rapide possible à associer à une application mobile native via l’API Fever ou Google Reader, et qui préfèrent avoir moins de réglages plutôt que davantage.

Miniflux mérite honnêtement son étiquette de logiciel « à partis pris » : ce qu’il refuse de faire est aussi réfléchi que ce qu’il fait. Notre guide de démarrage homelab pour débutants couvre les bases Docker dont dépend une pile adossée à Postgres comme celle-ci, et la catégorie Docker & Containers regroupe le reste de l’outillage présenté sur ce site.