6.0 KiB
title, created, updated, type, tags, confidence, contested, sources
| title | created | updated | type | tags | confidence | contested | sources | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| CommaFeed | 2026-06-07 | 2026-06-07 | app |
|
high | false |
|
🗞️ CommaFeed
Fork moderne de The Old Reader — agrégateur de flux RSS/Atom en Java/Angular avec une UI proche de Feedly.
📋 Informations Générales
| Attribut | Valeur |
|---|---|
| Nom | CommaFeed |
| Slug | app-commafeed |
| Description | Fork open-source de The Old Reader, réécrit en Java 17 + Angular, UI moderne multi-utilisateurs |
| Site officiel | https://www.commafeed.com/ |
| Repository | https://github.com/Athou/commafeed |
| Stars | 3 980 ⭐ |
| Licence | Apache-2.0 |
| Langage principal | Java / Angular |
| Catégorie | Feed Reader |
| Tags | [catalogue, feed-reader, rss, old-reader, java, angular, self-hosted] |
📝 Description
CommaFeed est un fork maintenu par Athou (Aurélien Hervé) à partir du code de The Old Reader, l'ancêtre des lecteurs type Google Reader. Le projet a été largement réécrit pour passer à Java 17 côté backend, avec un frontend Angular moderne et un look très inspiré de Feedly. C'est l'un des rares lecteurs auto-hébergeables à offrir une expérience utilisateur aussi proche des services SaaS.
Fonctionnellement, CommaFeed supporte les flux RSS, Atom et JSON Feed, l'API Google Reader (compatibilité Reeder, NetNewsWire, FeedMe, etc.), le marquage lu/non-lu, les catégories, les marque-pages, la recherche full-text, l'export/import OPML, et un système d'authentification simple (login/mot de passe avec hash bcrypt). La base utilisée est H2 par défaut, mais PostgreSQL est recommandé en production.
Cas d'usage typique : utilisateur qui veut une UI Feedly-like sans dépendre du cloud, multi-utilisateurs, et prêt à fournir un peu de RAM à un backend Java (~512 Mo-1 Go). Limites : pas d'OAuth/SSO natif, pas d'extensions, projet mono-mainteneur (le rythme de release est irrégulier). À considérer comme une alternative sérieuse à app-freshrss pour qui préfère Java à PHP.
🚀 Installation
Via Docker (recommandé)
# docker-compose.yml
version: "3.8"
services:
commafeed:
image: athou/commafeed:latest
container_name: commafeed
restart: unless-stopped
ports:
- "8082:8082"
environment:
JAVA_TOOL_OPTIONS: "-Xmx512m"
COMMAFEED_DATABASE_DRIVER: org.postgresql.Driver
COMMAFEED_DATABASE_URL: jdbc:postgresql://db/commafeed
COMMAFEED_DATABASE_USERNAME: commafeed
COMMAFEED_DATABASE_PASSWORD: ChangeM3_COMMA
COMMAFEED_USERS_CREATIONENABLED: "true"
volumes:
- ./data:/app/data
depends_on:
- db
db:
image: postgres:16-alpine
container_name: commafeed-db
restart: unless-stopped
environment:
POSTGRES_DB: commafeed
POSTGRES_USER: commafeed
POSTGRES_PASSWORD: ChangeM3_COMMA
volumes:
- ./pgdata:/var/lib/postgresql/data
Installation manuelle
Télécharger le JAR fat-jar depuis la page Releases GitHub, exécuter avec java -jar commafeed-X.Y.Z.jar (Java 17+ requis). Un fichier config.yml peut être fourni en argument pour surcharger les variables d'environnement. Le data/ contient la base H2 par défaut ; basculer en PostgreSQL nécessite de configurer les propriétés COMMAFEED_DATABASE_* avant le premier démarrage.
⚙️ Configuration
- Premier utilisateur :
COMMAFEED_USERS_CREATIONENABLED: "true"permet l'auto-inscription du premier compte, à désactiver après création de l'admin. - Base de données : H2 par défaut (fichier local, parfait pour tester), PostgreSQL/MySQL pour la production.
- API Google Reader : activée par défaut, fournit un token dans Profil → API.
- Throttling de scraping :
COMMAFEED_HTTP_CLIENT_TIMEOUTetCOMMAFEED_HTTP_THREADSpour ajuster la collecte de flux. - Thème : clair, sombre, sépia — bascule côté UI.
🔗 Alternatives
- app-freshrss — Concurrent PHP plus extensible, plus simple à installer, plus de tags/filtres.
- app-miniflux — Concurrent Go ultra-léger, mono-utilisateur « friendly », sans Java ni Angular.
- app-newsblur — Concurrent Python avec ML, mais plus lourd et plus complexe à auto-héberger.
- app-feedbin — Ruby on Rails, UX très propre mais projet payant en SaaS.
- app-yarr — Go minimaliste, mono-utilisateur, sans web UI aussi riche.
- app-nextcloud-news — Module Nextcloud, idéal en environnement Nextcloud existant.
- Feedly (propriétaire SaaS) — Source d'inspiration directe de l'UI CommaFeed.
- Inoreader (propriétaire SaaS) — Concurrent SaaS avec règles et filtres avancés.
🔒 Sécurité
- HTTPS obligatoire via app-traefik ou app-caddy.
- Désactiver
COMMAFEED_USERS_CREATIONENABLEDaprès création du premier admin pour éviter l'inscription libre. - Changer le mot de passe admin et utiliser un mot de passe fort (>= 16 caractères).
- Configurer
X-Forwarded-For/X-Real-IPcôté reverse proxy pour que les logs IP soient corrects. - Surveiller les mises à jour Java et la couche Hibernate/JPA — la stack Java historique a souvent des CVE.
📚 Ressources
- Site officiel : https://www.commafeed.com/
- Repository : https://github.com/Athou/commafeed
- Documentation : https://github.com/Athou/commafeed#readme
- Releases : https://github.com/Athou/commafeed/releases
- Démo publique : https://www.commafeed.com/demo (suspendu parfois)
🔗 Pages Liées
- cat-feed-reader (catégorie parente)
- app-freshrss — Concurrent PHP plus extensible
- app-miniflux — Concurrent Go minimaliste
- app-newsblur — Concurrent Python avec ML
- app-feedbin — Solution Ruby on Rails
- app-yarr — Lecteur Go minimaliste
- app-nextcloud-news — Module Nextcloud
- recettes-docker-compose — Templates Compose
- securisation-home-lab — Bonnes pratiques