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 |
|
high | false |
|
📰 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
productiondansdata/config.php(environment = production) pour désactiver l'affichage des erreurs PHP. - Mettre à jour régulièrement : suivre la branche
latestDocker ou le tag release GitHub. - Restreindre l'accès à l'API via un token personnel par client mobile.
📚 Ressources
- Site officiel : https://freshrss.org/
- Repository : https://github.com/FreshRSS/FreshRSS
- Documentation : https://freshrss.github.io/FreshRSS/
- Liste des extensions : https://github.com/FreshRSS/FreshRSS/tree/master/extensions
- Apps mobiles compatibles : https://github.com/FreshRSS/FreshRSS/blob/master/docs/api.md
🔗 Pages Liées
- cat-feed-reader (catégorie parente)
- app-miniflux — Concurrent direct, plus minimaliste
- app-newsblur — Alternative sociale
- app-commafeed — Fork de The Old Reader
- app-feedbin — Solution Ruby on Rails
- app-yarr — Lecteur minimaliste Go
- app-nextcloud-news — Lecteur intégré à Nextcloud
- recettes-docker-compose — Templates Compose
- securisation-home-lab — Bonnes pratiques