Installer FriRSS
sur votre serveur

Préparez FreshRSS, installez FriRSS, puis reliez les deux. Ce guide vous accompagne jusqu’à votre première lecture.

  • Docker, Compose ou Unraid
  • amd64 et arm64
  • Gratuit et open source
Documentation officielle

00Il vous faut d’abord FreshRSS.

FriRSS affiche les articles de votre instance FreshRSS. Avant de commencer, préparez ces trois éléments.

  1. Une instance FreshRSS accessible

    Gardez son adresse et votre nom d’utilisateur à portée de main.

  2. L’accès API activé

    Dans FreshRSS : Configuration → Authentification → Autoriser l’accès par API.

  3. Un mot de passe API

    Définissez-le dans FreshRSS : Configuration → Profil. Il servira à connecter FriRSS.

Découvrir FreshRSS

01Choisissez votre installation

Choisissez votre méthode. Les étapes de création du compte et de connexion à FreshRSS sont les mêmes ensuite.

Docker

Lancez l’image officielle. Le port 8080 de l’hôte correspond au port 80 du conteneur ; /app/data conserve la base de données et les clés de chiffrement.

Docker
mkdir -p frirss-data
docker run -d --name frirss \
  --restart unless-stopped \
  -p 8080:80 \
  -v "$PWD/frirss-data:/app/data" \
  -e TZ=Europe/Zurich \
  ghcr.io/fripix/frirss:latest

Également disponible sur Docker Hub : fripix/frirss. Les images officielles prennent en charge amd64 et arm64.

Docker Compose

Enregistrez ce contenu dans compose.yaml, dans un dossier vide, puis lancez les commandes ci-dessous. Conservez le dossier frirss-data : il contient les données de votre instance.

compose.yaml
services:
  frirss:
    image: ghcr.io/fripix/frirss:latest
    container_name: frirss
    ports:
      - "8080:80"
    volumes:
      - ./frirss-data:/app/data
    restart: unless-stopped
    environment:
      TZ: Europe/Zurich
      # Facultatif : retirez le # devant une ligne pour l’activer (voir le tableau).

      # Démarrage
      # PUID: "1000"
      # PGID: "1000"

      # Réseau
      # FRIRSS_BASE_URL: https://frirss.example.com
      # PROXY_INTERNAL_HOSTS: 192.168.1.20
      # PROXY_REWRITES: https://rss.example.com=http://freshrss:80
      # CORS_ORIGIN: https://frirss.example.com

      # Cache Redis, fortement recommandé
      # REDIS_URL: redis://redis:6379
      # CACHE_ARTICLES_PER_FEED: "50"
      # CACHE_TTL: "86400"
      # CACHE_SYNC_INTERVAL: "0"
      # CACHE_SYNC_ACTIVE_DAYS: "7"
      # CACHE_SYNC_PARALLEL_USERS: "3"

      # Limites et stockage
      # FRIRSS_REFRESH_MAX_FEEDS: "1000"
      # FRIRSS_PROXY_RATE_LIMIT: "600"
      # FRIRSS_DATA_DIR: /app/data
Docker Compose
mkdir -p frirss-data
docker compose up -d

Unraid

Ouvrez l’onglet Apps d’Unraid Community Applications, recherchez FriRSS et installez son modèle. Vérifiez le port de l’hôte et le volume persistant /app/data avant le démarrage.

Ouvrir Community Applications

Variables d’environnement

Toutes sont facultatives, sauf TZ, déjà réglée. Dans compose.yaml, retirez le # devant une ligne pour l’activer ; avec docker run, ajoutez ‑e NOM=valeur avant le nom de l’image. Recréez ensuite le conteneur.

VariableÀ quoi elle sertPar défaut
Démarrage
TZFuseau horaire du conteneur, pour les dates et les journaux. Exemple : Europe/Paris.—
PUID, PGIDUtilisateur et groupe qui font tourner FriRSS. Le dossier de données est repris à leur nom au démarrage.1000
Réseau
FRIRSS_BASE_URLAdresse publique de FriRSS. Recommandée derrière un proxy inverse ; corrige aussi les adresses de retour de la connexion unique (OIDC).Déduite de la requête
PROXY_INTERNAL_HOSTSHôtes privés que FriRSS a le droit de joindre, séparés par des virgules. Nécessaire quand FreshRSS est sur votre réseau local ou un réseau Docker.Aucun
PROXY_REWRITESJoindre FreshRSS par le réseau interne plutôt que par son adresse publique : adresse publique=adresse interne, séparées par des virgules.Aucune
CORS_ORIGINOrigines autorisées, seulement si l’interface et le serveur sont servis séparément.Aucune
Cache Redis, fortement recommandé
REDIS_URLActive le cache : listes affichées tout de suite, préchargement en arrière-plan, articles extraits et résultats IA partagés par toute l’instance.Désactivé
CACHE_ARTICLES_PER_FEEDArticles gardés en cache par flux.50
CACHE_TTLDurée de vie d’une entrée du cache, en secondes.86400 (un jour)
CACHE_SYNC_INTERVALPréchargement en arrière-plan, toutes les N minutes. 0 le coupe ; demande REDIS_URL.0
CACHE_SYNC_ACTIVE_DAYSNe précharge que pour les comptes vus ces N derniers jours.7
CACHE_SYNC_PARALLEL_USERSComptes préchargés en même temps.3
Limites et stockage
FRIRSS_REFRESH_MAX_FEEDSFlux actualisés à chaque clic sur Actualiser.1000
FRIRSS_PROXY_RATE_LIMITRequêtes par compte et par minute, un seul budget pour le proxy, l’extraction d’articles et l’IA. 0 retire la limite.600
FRIRSS_DATA_DIRDossier de la base SQLite, dans le conteneur./app/data

02Créez votre compte FriRSS

Une fois le conteneur démarré, ouvrez cette adresse sur l’hôte Docker, ou utilisez l’adresse de cet hôte depuis un autre appareil. Créez immédiatement le premier compte FriRSS : il devient administrateur. Les inscriptions se ferment ensuite et se réactivent dans Préférences → Administration.

Adresse locale après démarrage
http://localhost:8080

03Reliez FreshRSS à FriRSS

Cette fois, utilisez les identifiants de FreshRSS. Ils sont distincts du compte FriRSS que vous venez de créer.

Adresse de FreshRSS
L’URL de votre instance, par exemple https://rss.example.com.
Utilisateur FreshRSS
Le nom du compte dont vous souhaitez retrouver les abonnements.
Mot de passe API
Celui défini dans le profil FreshRSS à l’étape de préparation.
FreshRSS sur un réseau privé ?

Le proxy bloque les adresses privées par défaut. Autorisez explicitement le nom d’hôte ou l’IP de FreshRSS avec PROXY_INTERNAL_HOSTS. Remplacez l’adresse de l’exemple par la vôtre, sans désactiver globalement cette protection.

PROXY_INTERNAL_HOSTS
PROXY_INTERNAL_HOSTS=192.168.1.20

Docker : ajoutez -e PROXY_INTERNAL_HOSTS=192.168.1.20 avant le nom de l’image. Compose : retirez le # devant la ligne PROXY_INTERNAL_HOSTS et remplacez l’adresse par celle de votre FreshRSS. Recréez le conteneur après modification.

Vos flux sont prêts à lire.Choisissez votre disposition, votre thème et votre premier article. Vous pourrez ensuite ajuster le reste à votre rythme.

04Faites évoluer votre installation

FriRSS fonctionne avec sa base SQLite intégrée. Redis est un complément facultatif pour accélérer les lectures et partager le cache entre vos appareils.

SQLiteSQLite est déjà dans FriRSS

Comptes, préférences et configuration sont conservés dans la base intégrée. Sauvegardez les données de FriRSS : aucun service de base de données supplémentaire n’est nécessaire.

RedisRecommandé, facultatifCôté FriRSS

Un cache partagé pour les listes, les articles extraits et les résultats IA. Il évite de refaire le même travail pour chaque appareil ou utilisateur.

Un complément utile pour rendre les consultations répétées plus rapides. FriRSS fonctionne aussi sans Redis.

Reliez votre service Redis avec REDIS_URL. Le préchargement en arrière-plan s’active séparément avec CACHE_SYNC_INTERVAL, qui nécessite Redis.

Configurer Redis

05Vie privée et sécurité

FriRSS tourne sur votre serveur et ne garde que le nécessaire. Voici ce qu’il stocke, où, et ce qui sort de votre installation.

Sur votre serveur

  • Une seule base SQLite, dans /app/data : comptes, préférences synchronisées et réglages de l’instance.
  • Les mots de passe sont hachés avec bcrypt.
  • Le mot de passe API de FreshRSS n’est jamais enregistré : FriRSS garde seulement le jeton de connexion, chiffré en AES-256-GCM, et ne l’envoie jamais au navigateur.
  • Vos articles restent dans FreshRSS. Sans Redis, le texte des articles extraits n’est pas conservé.

Dans votre navigateur

  • La session, les préférences propres à cet écran et les icônes des flux.
  • Les articles et les images préparés pour la lecture hors ligne, que vous pouvez vider à tout moment.

Ce qui sort de votre installation

  • Vers votre serveur FreshRSS : toujours, c’est le rôle de FriRSS.
  • Vers les sites des articles : seulement si l’article complet est activé. Il est désactivé par défaut.
  • Vers un fournisseur d’IA : seulement si l’administrateur l’active. Le titre et le texte de l’article lui sont envoyés.
  • Vers votre fournisseur de connexion unique (SSO) : seulement si l’administrateur l’active.
  • Les images des articles sont chargées par le navigateur depuis leur site, comme dans tout lecteur RSS.

Aucune télémétrie

FriRSS ne contient ni mesure d’audience, ni rapport d’erreurs, ni vérification de mise à jour : il ne contacte aucun serveur de son auteur.

La clé qui chiffre les jetons est rangée dans la même base. Protégez et sauvegardez le dossier /app/data comme un mot de passe.

Lire la politique de sécurité

Pour une installation durable

Gardez vos données

Sauvegardez /app/data avec la procédure officielle d’instantané SQLite ou l’export chiffré. Copier uniquement un fichier frirss.db en cours d’utilisation n’est pas une sauvegarde fiable.

Passez en HTTPS

Pour l’accès distant, passez par un reverse proxy HTTPS ; n’exposez pas directement le port du conteneur à Internet. Pour les traductions IA, prévoyez des délais de lecture et d’envoi d’au moins 120 secondes.

Mettez à jour avec méthode

Lisez les notes de version, sauvegardez les données, puis récupérez la nouvelle image et recréez le conteneur. Le README officiel reste la référence pour les évolutions de configuration.

Guide complet d’installation et de configuration

Le README officiel reste la référence si une option ou une commande évolue.