Files
2026-06-09 18:40:21 +02:00

6.1 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
Miniflux 2026-06-07 2026-06-07 app
catalogue
feed-reader
rss
atom
minimaliste
go
self-hosted
high false
https://selfh.st/apps/?tag=Feed+Readers
https://github.com/miniflux/v2
https://miniflux.app/

Miniflux

Agrégateur de flux RSS/Atom ultra-léger écrit en Go — interface épurée, simple binaire, consommation mémoire minimale.

📋 Informations Générales

Attribut Valeur
Nom Miniflux
Slug app-miniflux
Description Lecteur de flux RSS/Atom minimaliste écrit en Go, distribué en binaire unique, conçu pour être rapide et sobre
Site officiel https://miniflux.app/
Repository https://github.com/miniflux/v2
Stars 8 880
Licence Apache-2.0
Langage principal Go
Catégorie Feed Reader
Tags [catalogue, feed-reader, rss, atom, minimaliste, go, self-hosted]

📝 Description

Miniflux est un lecteur de flux nouvelle génération, entièrement réécrit en Go à partir de la version 2. Son objectif est simple : faire une seule chose (lire des flux) mais la faire extrêmement bien, sans fioritures. Le résultat est un binaire statique d'environ 15 Mo, qui consomme moins de 50 Mo de RAM au repos, avec une UI web claire, rapide, au clavier-friendly.

Le projet supporte les flux RSS, Atom, JSON Feed et RDF ; il intègre un nettoyeur automatique de HTML (lecteur de type Readability), un mode « read later » par article, des règles de filtrage par regex, des catégories, des proxys d'images, l'authentification OAuth (Google, GitHub, generic OpenID), LDAP, et une API REST complète utilisée par les apps mobiles (Reeder, NetNewsWire, FeedMe, Fluent Reader, Read You, etc.).

Cas d'usage typique : remplacer app-freshrss quand on veut quelque chose de plus simple, plus rapide, sans PHP ni extensions, et qu'on a un seul compte utilisateur (multi-utilisateurs supporté mais moins convivial). C'est le choix par défaut sur homelab minimaliste (Raspberry Pi, VPS à 2 €/mois). Limites : pas d'extensions tierces, pas de plugins, configuration par variables d'environnement ou fichier unique.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
version: "3.8"

services:
  miniflux:
    image: miniflux/miniflux:latest
    container_name: miniflux
    restart: unless-stopped
    ports:
      - "8080:8080"
    environment:
      DATABASE_URL: postgres://miniflux:ChangeM3_MFX@db/miniflux?sslmode=disable
      RUN_MIGRATIONS: "true"
      CREATE_ADMIN: "true"
      ADMIN_USERNAME: admin
      ADMIN_PASSWORD: ChangeM3_MFX
      POLLING_FREQUENCY: 30
      FETCH_VIA_PROXY: "false"
    depends_on:
      - db

  db:
    image: postgres:16-alpine
    container_name: miniflux-db
    restart: unless-stopped
    environment:
      POSTGRES_DB: miniflux
      POSTGRES_USER: miniflux
      POSTGRES_PASSWORD: ChangeM3_MFX
    volumes:
      - ./pgdata:/var/lib/postgresql/data

Installation manuelle

Télécharger le binaire statique pour son architecture depuis la page Releases GitHub, créer un utilisateur système dédié, créer la base PostgreSQL, exécuter miniflux -migrate, et lancer le service via systemd. Un fichier miniflux.conf peut remplacer les variables d'environnement. Configuration Nginx type reverse proxy documentée sur le site officiel.

⚙️ Configuration

  • Variables d'environnement : plus de 80 options documentées (DATABASE_URL, BASE_URL, OAUTH_*, CLEANUP_*, POLLING_FREQUENCY, FETCH_VIA_PROXY, etc.).
  • Fréquence de collecte : POLLING_FREQUENCY en minutes (par défaut 60), avec un scheduler interne qui étale les requêtes.
  • Rétention : CLEANUP_ARCHIVE_UNREAD_DAYS, CLEANUP_REMOVE_SESSIONS_DAYS pour purger automatiquement.
  • OAuth : renseigner les OAUTH_* permet d'activer « Se connecter avec Google/GitHub/OpenID » sur la page de login.
  • API : générer un token par utilisateur dans Profil → API, à fournir à l'app mobile.

🔗 Alternatives

  • app-freshrss — Concurrent PHP plus riche fonctionnellement (extensions, multi-utilisateurs avancé), mais plus lourd.
  • app-newsblur — Concurrent Python/Django avec ML et social, nettement plus gourmand.
  • app-commafeed — Fork Java/Angular de The Old Reader, UI plus moderne mais plus lourd.
  • app-feedbin — Ruby on Rails, écosystème mobile de qualité.
  • app-yarr — Concurrent Go encore plus minimaliste, sans comptes utilisateurs.
  • app-nextcloud-news — Module Nextcloud, idéal si on a déjà Nextcloud.
  • NetNewsWire (iOS/macOS, gratuit) — Client natif Miniflux via API.
  • Reeder (iOS/macOS, payant) — Client premium, intégration Miniflux impeccable.
  • Feedly (propriétaire SaaS) — Référence du marché, UI proche de Miniflux.

🔒 Sécurité

  • Imposer HTTPS via app-traefik ou app-caddy — même sobre, le binaire ne fait pas de TLS natif.
  • Changer le mot de passe administrateur par défaut (CREATE_ADMIN n'est utile qu'au premier démarrage).
  • PostgreSQL doit être sur le réseau interne Docker (driver internal).
  • Activer les migrations automatiques (RUN_MIGRATIONS: "true") au déploiement, sans exécuter de CREATE_ADMIN récurrent.
  • Surveiller les CVE sur les dépendances Go : pas de framework web, surface d'attaque faible, mais mises à jour importantes.

📚 Ressources

🔗 Pages Liées