Initial vault setup
This commit is contained in:
@@ -0,0 +1,142 @@
|
||||
---
|
||||
title: NewsBlur
|
||||
created: 2026-06-07
|
||||
updated: 2026-06-07
|
||||
type: app
|
||||
tags: [catalogue, feed-reader, rss, social, ml, django, python, self-hosted]
|
||||
confidence: high
|
||||
contested: false
|
||||
sources:
|
||||
- https://selfh.st/apps/?tag=Feed+Readers
|
||||
- https://github.com/samuelclay/NewsBlur
|
||||
- https://www.newsblur.com/
|
||||
---
|
||||
|
||||
# 🟢 NewsBlur
|
||||
|
||||
> Agrégateur de flux RSS intelligent et social, écrit en Python/Django — il apprend vos centres d'intérêt et classe automatiquement les articles.
|
||||
|
||||
## 📋 Informations Générales
|
||||
|
||||
| Attribut | Valeur |
|
||||
|----------|--------|
|
||||
| **Nom** | NewsBlur |
|
||||
| **Slug** | app-newsblur |
|
||||
| **Description** | Lecteur de flux RSS/Atom avec intelligence artificielle de classement, dimension sociale et architecture distribuée |
|
||||
| **Site officiel** | https://www.newsblur.com/ |
|
||||
| **Repository** | https://github.com/samuelclay/NewsBlur |
|
||||
| **Stars** | 10 390 ⭐ |
|
||||
| **Licence** | MIT |
|
||||
| **Langage principal** | Python / Django |
|
||||
| **Catégorie** | Feed Reader |
|
||||
| **Tags** | [catalogue, feed-reader, rss, social, ml, django, python, self-hosted] |
|
||||
|
||||
## 📝 Description
|
||||
|
||||
NewsBlur est un agrégateur de flux créé en 2009 par Samuel Clay. Sa particularité est d'afficher pour chaque site suivi un compteur d'articles « positifs » (qui correspondent à vos intérêts), « négatifs » et « neutres », calculé par un classifieur naïf bayésien entraîné sur vos lectures. Plus vous lisez, plus le tri devient pertinent.
|
||||
|
||||
C'est aussi un lecteur social : on peut suivre les abonnements publics d'autres utilisateurs, partager des articles, et commenter. L'architecture est techniquement passionnante : un serveur Django principal, des workers Celery pour la collecte, MongoDB pour les flux et les stories, Redis pour le cache, PostgreSQL pour les comptes, et `haproxy` pour le load-balancing. Cette stack explique pourquoi NewsBlur est le plus gourmand des lecteurs de flux.
|
||||
|
||||
Cas d'usage typique : utilisateur avancé qui veut un lecteur de flux type Feedly/Inoreader mais auto-hébergé, avec de la classification automatique et une dimension communautaire. Limites : la doc d'auto-hébergement est succincte, le projet est très orienté service SaaS, et la consommation mémoire est élevée (2-4 Go de RAM minimum). À réserver à un serveur dédié ou à un homelab costaud.
|
||||
|
||||
## 🚀 Installation
|
||||
|
||||
### Via Docker (non officiel mais fonctionnel)
|
||||
|
||||
```yaml
|
||||
# docker-compose.yml
|
||||
version: "3.8"
|
||||
|
||||
services:
|
||||
newsblur:
|
||||
image: sunxh/NewsBlur:latest
|
||||
container_name: newsblur
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8000:80"
|
||||
environment:
|
||||
DJANGO_SETTINGS_MODULE: newsblur_web.settings
|
||||
DATABASE_URL: postgres://newsblur:ChangeM3_NB@db/newsblur
|
||||
MONGO_HOST: mongo
|
||||
REDIS_HOST: redis
|
||||
volumes:
|
||||
- ./data:/srv/newsblur/data
|
||||
depends_on:
|
||||
- db
|
||||
- mongo
|
||||
- redis
|
||||
|
||||
db:
|
||||
image: postgres:16
|
||||
container_name: newsblur-db
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
POSTGRES_DB: newsblur
|
||||
POSTGRES_USER: newsblur
|
||||
POSTGRES_PASSWORD: ChangeM3_NB
|
||||
volumes:
|
||||
- ./pgdata:/var/lib/postgresql/data
|
||||
|
||||
mongo:
|
||||
image: mongo:7
|
||||
container_name: newsblur-mongo
|
||||
restart: unless-stopped
|
||||
volumes:
|
||||
- ./mongodata:/data/db
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
container_name: newsblur-redis
|
||||
restart: unless-stopped
|
||||
```
|
||||
|
||||
### Installation manuelle
|
||||
|
||||
L'installation officielle repose sur `fabric` : cloner le dépôt, exécuter `fab -H user@host deploy` après configuration. Pré-requis : Python 3.10+, Node.js, PostgreSQL 14+, MongoDB 6+, Redis 7+, et un reverse proxy. La procédure est largement plus complexe que pour [[app-freshrss]] ou [[app-miniflux]].
|
||||
|
||||
## ⚙️ Configuration
|
||||
|
||||
- **Compte administrateur** : créé lors du `bootstrap.py` initial, à modifier immédiatement.
|
||||
- **Worker count** : ajuster le nombre de workers Celery en fonction du nombre de flux à collecter (règle empirique : 1 worker par tranche de 500 flux).
|
||||
- **Feeds par utilisateur** : la limite gratuite SaaS est 64 flux ; en self-hosted on peut monter beaucoup plus haut.
|
||||
- **OAuth / SSO** : paramétrable dans `newsblur_web/settings.py`.
|
||||
- **Sauvegarde** : exporter régulièrement MongoDB (les flux) et PostgreSQL (utilisateurs), c'est la double base qui complexifie les backups.
|
||||
|
||||
## 🔗 Alternatives
|
||||
|
||||
- [[app-freshrss]] — Beaucoup plus léger, plus simple à auto-héberger, sans ML ni social.
|
||||
- [[app-miniflux]] — Minimaliste Go, mono-utilisateur, RAM < 50 Mo.
|
||||
- [[app-commafeed]] — UI type Feedly sans dimension sociale ni ML.
|
||||
- [[app-feedbin]] — Ruby on Rails, sans ML non plus, mais excellent écosystème mobile.
|
||||
- [[app-yarr]] — Go minimaliste, mono-utilisateur.
|
||||
- [[app-nextcloud-news]] — Module intégré à Nextcloud.
|
||||
- **Feedly** (propriétaire SaaS) — Référence du marché avec abonnement Pro pour le ML avancé.
|
||||
- **Inoreader** (propriétaire SaaS) — Très complet, règles et filtres poussés.
|
||||
|
||||
## 🔒 Sécurité
|
||||
|
||||
- HTTPS obligatoire via [[app-traefik]] ou [[app-caddy]] — l'authentification et les cookies de session doivent voyager chiffrés.
|
||||
- Changer `SECRET_KEY` Django dans `settings.py` pour une valeur aléatoire longue.
|
||||
- MongoDB et Redis doivent écouter uniquement sur le réseau interne Docker (driver `internal`).
|
||||
- Surveiller l'espace disque : MongoDB gonfle vite avec beaucoup de flux et d'historique.
|
||||
- Mettre à jour régulièrement Celery et Django pour les correctifs de sérialisation (historiquement sensibles).
|
||||
|
||||
## 📚 Ressources
|
||||
|
||||
- Site officiel : https://www.newsblur.com/
|
||||
- Repository : https://github.com/samuelclay/NewsBlur
|
||||
- Doc self-hosting : https://github.com/samuelclay/NewsBlur/blob/master/INSTALL.md
|
||||
- Wiki technique : https://github.com/samuelclay/NewsBlur/wiki
|
||||
- Apps mobiles : iOS et Android officiels + clients tiers
|
||||
|
||||
## 🔗 Pages Liées
|
||||
|
||||
- [[cat-feed-reader]] (catégorie parente)
|
||||
- [[app-freshrss]] — Concurrent PHP plus léger
|
||||
- [[app-miniflux]] — Concurrent Go minimaliste
|
||||
- [[app-commafeed]] — Fork de The Old Reader
|
||||
- [[app-feedbin]] — Solution Ruby on Rails
|
||||
- [[app-yarr]] — Lecteur Go minimaliste
|
||||
- [[app-nextcloud-news]] — Module intégré Nextcloud
|
||||
- [[recettes-docker-compose]] — Templates Compose
|
||||
- [[securisation-home-lab]] — Bonnes pratiques
|
||||
Reference in New Issue
Block a user