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

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
catalogue
feed-reader
rss
old-reader
java
angular
self-hosted
high false
https://selfh.st/apps/?tag=Feed+Readers
https://github.com/Athou/commafeed
https://www.commafeed.com/

🗞️ 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_TIMEOUT et COMMAFEED_HTTP_THREADS pour 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_CREATIONENABLED aprè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-IP cô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

🔗 Pages Liées