Files
wiki/Catalogue-Self-Hosted/apps/app-yarr.md
T
2026-06-09 18:40:21 +02:00

5.5 KiB

title, created, updated, type, tags, confidence, contested, sources
title created updated type tags confidence contested sources
yarr 2026-06-07 2026-06-07 app
catalogue
feed-reader
rss
minimaliste
go
sqlite
self-hosted
high false
https://selfh.st/apps/?tag=Feed+Readers
https://github.com/nkanaev/yarr
https://github.com/nkanaev/yarr#readme

🚀 yarr

« Yet Another RSS Reader » — lecteur de flux ultra-minimaliste en Go, SQLite, sans compte utilisateur ni extension.

📋 Informations Générales

Attribut Valeur
Nom yarr
Slug app-yarr
Description Lecteur de flux RSS/Atom minimaliste écrit en Go, basé sur SQLite, sans authentification ni multi-utilisateurs
Site officiel https://github.com/nkanaev/yarr
Repository https://github.com/nkanaev/yarr
Stars 2 860
Licence BSD-3-Clause
Langage principal Go
Catégorie Feed Reader
Tags [catalogue, feed-reader, rss, minimaliste, go, sqlite, self-hosted]

📝 Description

yarr (« Yet Another RSS Reader ») est un lecteur de flux écrit par Nikita Kanaev en Go. Sa philosophie est radicale : pas d'authentification, pas de comptes, pas d'extensions, pas d'OAuth, pas de base de données externe. Un seul binaire Go, une base SQLite, une UI web servie en statique, et c'est tout. C'est l'un des plus petits lecteurs auto-hébergeables au monde en termes d'empreinte mémoire (~30-50 Mo).

Fonctionnellement, yarr couvre l'essentiel : ajout/import de flux, catégories, marque-pages, mode lecture article par article, marque lu/non-lu, raccourcis clavier (type j/k, o, s), et thèmes clair/sombre. Pas d'API pour clients mobiles, pas de social, pas de ML, pas de statistiques. La promesse est : « pour un seul utilisateur qui veut lire ses flux vite, sans usine à gaz ».

Cas d'usage typique : homelab minimaliste, Raspberry Pi, NAS, ou serveur en réseau local pour usage strictement personnel. Limites : pas d'API = pas de clients mobiles officiels tiers, pas d'auth = à ne jamais exposer sur Internet public sans reverse proxy authentifié (Authelia, oauth2-proxy). Pour un usage multi-utilisateurs, mieux vaut se tourner vers app-freshrss ou app-miniflux.

🚀 Installation

Via Docker (recommandé)

# docker-compose.yml
version: "3.8"

services:
  yarr:
    image: nkanaev/yarr:latest
    container_name: yarr
    restart: unless-stopped
    ports:
      - "7070:7070"
    environment:
      YARR_BASE_URL: "https://rss.example.com"
      YARR_LOG_LEVEL: info
    volumes:
      - ./data:/data

Installation manuelle

Télécharger le binaire depuis la page Releases GitHub, créer un dossier data/ à côté de l'exécutable, lancer ./yarr --addr 0.0.0.0:7070. Configuration par flags CLI ou variables d'environnement (YARR_*). Pour démarrer au boot : un service systemd très simple suffit. L'UI est servie par le binaire, pas de serveur web à configurer pour le fichier statique.

⚙️ Configuration

  • Base : SQLite dans data/yarr.db — sauvegarder ce fichier, c'est l'unique persistance.
  • URL de base : YARR_BASE_URL doit refléter l'URL publique derrière le reverse proxy.
  • Fréquence de rafraîchissement : YARR_FEED_FETCH_INTERVAL (en minutes, par défaut 30).
  • Favicon : yarr extrait et stocke les favicons des flux.
  • Import OPML : via l'UI (menu → Importer).
  • Pas d'auth : pour usage mono-utilisateur personnel, à protéger par app-authelia ou un VPN/Wireguard en exposition publique.

🔗 Alternatives

  • app-miniflux — Concurrent Go avec un binaire unique aussi, mais avec auth multi-utilisateurs et API mobile.
  • app-freshrss — Concurrent PHP plus riche (extensions, étiquettes, stats), plus lourd.
  • app-newsblur — Concurrent Python avec ML, pour gros volumes.
  • app-commafeed — Fork Java/Angular de The Old Reader, plus moderne.
  • app-feedbin — Ruby on Rails, UI aboutie, plus exigeant.
  • app-nextcloud-news — Module Nextcloud, idéal en environnement Nextcloud.
  • NetNewsWire (iOS/macOS) — Client natif qui pourrait synchroniser via... rien : yarr n'a pas d'API.
  • Feedly (propriétaire SaaS) — Référence SaaS, mais cloud-only.

🔒 Sécurité

  • yarr n'a aucune authentification : ne JAMAIS exposer le port 7070 sur Internet public sans auth en amont.
  • HTTPS obligatoire via app-traefik ou app-caddy.
  • Mettre en place un app-authelia ou un app-wireguard devant si on veut quand même un accès distant.
  • Surveiller le dossier data/ (et le fichier yarr.db) : sauvegarder régulièrement, c'est l'unique source de vérité.
  • Les mises à jour du binaire Go sont faciles : stopper, remplacer, redémarrer. Pas de migration de schéma à craindre.

📚 Ressources

🔗 Pages Liées