---
title: CommaFeed
created: 2026-06-07
updated: 2026-06-07
type: app
tags: [catalogue, feed-reader, rss, old-reader, java, angular, self-hosted]
confidence: high
contested: false
sources:
  - 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é)

```yaml
# 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

- 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
