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

6.2 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
FreshRSS 2026-06-07 2026-06-07 app
catalogue
feed-reader
rss
atom
agregateur
php
self-hosted
high false
https://selfh.st/apps/?tag=Feed+Readers
https://github.com/FreshRSS/FreshRSS
https://freshrss.org/

📰 FreshRSS

Agrégateur de flux RSS/Atom libre et léger écrit en PHP — auto-hébergeable, extensible, multi-utilisateur.

📋 Informations Générales

Attribut Valeur
Nom FreshRSS
Slug app-freshrss
Description Lecteur de flux RSS/Atom open-source écrit en PHP, conçu pour être léger, rapide et facile à auto-héberger
Site officiel https://freshrss.org/
Repository https://github.com/FreshRSS/FreshRSS
Stars 11 960
Licence AGPL-3.0
Langage principal PHP
Catégorie Feed Reader
Tags [catalogue, feed-reader, rss, atom, agregateur, php, self-hosted]

📝 Description

FreshRSS est un agrégateur de flux libre et gratuit, développé depuis 2012 par une petite communauté francophone. Il permet de centraliser la lecture de blogs, de sites d'actualités, de podcasts, de chaînes YouTube ou de flux Atom/RSS variés dans une interface web unique, accessible depuis n'importe quel navigateur ou application mobile compatible avec l'API Fever ou Google Reader.

Le projet se distingue par sa sobriété : il tourne confortablement sur un petit VPS (1 vCPU, 512 Mo de RAM) avec PHP-FPM et SQLite, ou plus classiquement avec MariaDB/MySQL. L'UI est dépouillée, mais fonctionnelle, avec un mode lecture hors-ligne, des filtres avancés, des statistiques de lecture, des catégories, des étiquettes, et un système d'extensions (API tierces, règles de rétention, nettoyeurs de HTML). Une authentification LDAP, OAuth ou par formulaire est proposée.

Cas d'usage typique : remplacer Feedly/Inoreader par une instance personnelle, synchronisée entre tous ses appareils via app-nextcloud-news-like API, avec une gestion fine des abonnements et un contrôle total sur les données. FreshRSS s'intègre nativement avec app-miniflux au sens où les deux partagent un écosystème de lecteurs mobiles, mais reste totalement indépendant. Limites : pas de clustering natif pour très gros volumes (>10 000 flux) — pour cela préférer un crawler distribué.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
version: "3.8"

services:
  freshrss:
    image: freshrss/freshrss:latest
    container_name: freshrss
    restart: unless-stopped
    ports:
      - "8080:80"
    environment:
      TZ: Europe/Paris
      CRON_MIN: "*/20"
    volumes:
      - ./data:/var/www/FreshRSS/data
      - ./extensions:/var/www/FreshRSS/extensions
    depends_on:
      - db

  db:
    image: mariadb:11
    container_name: freshrss-db
    restart: unless-stopped
    environment:
      MARIADB_DATABASE: freshrss
      MARIADB_USER: freshrss
      MARIADB_PASSWORD: ChangeM3_FRESHRSS
      MARIADB_RANDOM_ROOT_PASSWORD: "yes"
    volumes:
      - ./db:/var/lib/mysql

Installation manuelle

LAMP classique : PHP 8.1+ (avec extensions curl, pdo_mysql ou pdo_sqlite, intl, mbstring, gd, zip), Apache/Nginx + PHP-FPM, MySQL/MariaDB ou SQLite. Télécharger l'archive depuis GitHub, extraire dans /var/www/html/FreshRSS, pointer le vhost, suivre l'installateur web. Ajouter une crontab pour le rafraîchissement automatique : */20 * * * * www-data php /var/www/html/FreshRSS/app/actualize_script.php.

⚙️ Configuration

  • Base de données : SQLite par défaut (le plus simple), MariaDB recommandé en production multi-utilisateurs.
  • Authentification : locale, LDAP, OAuth (Google, GitHub, generic OpenID), ou en-tête reverse-proxy SSO.
  • API mobiles : activer l'API Fever ou Google Reader pour les apps comme FeedMe, Reeder, Fluent Reader, Read You.
  • Extensions : api (Fever/GR), force-https, markdown, pubsubhubbub, user-cSS (personnalisation visuelle), etc.
  • Rétention : configurer la suppression automatique des articleslus (par exemple 90 jours) pour limiter la taille de la base.

🔗 Alternatives

  • app-miniflux — Concurrent écrit en Go, ultra-léger, Postgres uniquement, sans PHP ni extensions, parfait pour un seul utilisateur.
  • app-newsblur — Agrégateur social avec entraînement des intérêts par ML, mais nettement plus lourd (Python/Django + Celery + MongoDB/Redis).
  • app-commafeed — Fork moderne de The Old Reader (Java/Angular), UI proche de Feedly.
  • app-feedbin — Service commercial open-source (Ruby on Rails), très propre, payant en SaaS, gratuit en self-hosted.
  • app-yarr — Lecteur minimaliste Go, SQLite, sans multi-utilisateur, orienté usage personnel.
  • Feedly (propriétaire SaaS) — Référence du marché gratuit, mais cloud-only et fermé.
  • Inoreader (propriétaire SaaS) — Très complet, plans payants pour règles avancées.

🔒 Sécurité

  • Imposer HTTPS via app-traefik ou app-caddy — les flux et identifiants transitent en clair sinon.
  • Changer le mot de passe administrateur par défaut dès la première connexion.
  • Activer le mode production dans data/config.php (environment = production) pour désactiver l'affichage des erreurs PHP.
  • Mettre à jour régulièrement : suivre la branche latest Docker ou le tag release GitHub.
  • Restreindre l'accès à l'API via un token personnel par client mobile.

📚 Ressources

🔗 Pages Liées