Comment auto-héberger un lecteur RSS avec FreshRSS

Une photographie d'un ordinateur portable sur une table dans un café.

FreshRSS est un lecteur de flux RSS simple et facile à déployer basé sur le web pour les serveurs Linux. Semblable à Tiny Tiny RSS, il fonctionne en fournissant une interface propre et multiplateforme à laquelle vous pouvez accéder depuis votre navigateur web.

Cet article vous montrera comment installer FreshRSS sur Ubuntu. Nous mettrons également en évidence comment vous pouvez configurer le lecteur pour une session multi-utilisateur.

Table des matières

  • Pourquoi FreshRSS ?
  • Installation de FreshRSS
  • Configuration du proxy inverse et SSL
  • Accéder et configurer FreshRSS

Pourquoi FreshRSS ?

L’un des principaux arguments de vente de FreshRSS est qu’il est livré avec un scraper web intégré. Cela signifie que vous pouvez créer des flux RSS de base même sur des sites web qui ne le supportent pas.

Une capture d'écran montrant l'outil de scraping web de FreshRSS.

FreshRSS prend également en charge les notifications push sur les plateformes de contenu modernes. En conséquence, la plateforme peut être incroyablement rapide et réactive aux mises à jour des publications. Enfin, il est également simple à installer, ce qui en fait un projet idéal pour les utilisateurs novices qui commencent tout juste à s’auto-héberger.

Une capture d'écran montrant une instance FreshRSS entièrement fonctionnelle.

Installation de FreshRSS

Hypothèse : Cet article suppose que vous avez un nom de domaine fonctionnel avec un enregistrement A et PTR pointant vers l’adresse IP et le nom d’hôte de votre instance VPS.

Nous allons utiliser Docker pour installer FreshRSS.

Installer Docker

Récupérez la clé de signature du dépôt Docker depuis le site du projet :

curl -fsSL https://download.docker.com/linux/ubuntu/gpg |sudo gpg --dearmor-o/etc/apt/keyrings/docker.gpg  
sudochmod a+r /etc/apt/keyrings/docker.gpg

Créez un nouveau fichier de dépôt pour Docker :

sudonano/etc/apt/sources.list.d/docker.list

Écrivez la ligne de code suivante dans votre nouveau fichier de dépôt :

deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu jammy stable

Rafraîchissez vos dépôts système, mettez à jour votre système et installez les binaires Docker :

sudo apt update &&sudo apt upgrade  
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin docker-buildx-plugin nginx

Construction du conteneur Docker FreshRSS

Créez un nouveau répertoire dans le répertoire personnel de votre utilisateur pour FreshRSS et entrez dedans :

mkdir ~/freshrss &&cd ~/freshrss

Créez un fichier “docker-compose.yml” en utilisant votre éditeur de texte préféré :

nano ./docker-compose.yml

Collez le bloc de code suivant dans votre nouveau fichier docker-compose :

---  
version: "2.4"  
volumes:  
  data: null  
  extensions: null  
services:  
  freshrss:  
    image: freshrss/freshrss:latest  
    build:  
      context: https://github.com/FreshRSS/FreshRSS.git#latest  
      dockerfile: Docker/Dockerfile-Alpine  
    container_name: freshrss  
    hostname: freshrss  
    restart: unless-stopped  
    logging:  
      options:  
        max-size: 10m  
    volumes:  
      - data:/var/www/FreshRSS/data  
      - extensions:/var/www/FreshRSS/extensions  
    ports:  
      - "8080:80"  
    environment:  
      TZ: Asia/Manila # CHANGE TO YOUR TIMEZONE  
      CRON_MIN: 3,33

Enregistrez votre fichier docker-compose.yml. Exécutez la commande suivante pour construire votre conteneur docker :

sudodocker compose up -d

Configuration du proxy inverse et SSL

Une fois l’instance FreshRSS en cours d’exécution, nous allons configurer Nginx pour faire un proxy inverse afin que vous puissiez y accéder publiquement via votre nom de domaine.

Pour commencer, créez un fichier de configuration de site Nginx pour votre instance :

sudonano/etc/nginx/sites-available/freshrss

Collez le bloc de code suivant dans votre nouveau fichier de configuration de site :

server {  
    listen 80;  
    listen [::]:80;  
  
    root                    /var/www/html;  
    server_name             freshrss.your-domain-name.here;  
  
    location /{  
        proxy_set_header    X-Forwarded-For $remote_addr;  
        proxy_set_header    Host $http_host;  
        proxy_set_header    X-Forwarded-Proto $scheme;  
        proxy_pass          http://localhost:8080;  
}  
}

Enregistrez votre nouveau fichier de configuration de site et exécutez la commande suivante pour créer un lien symbolique vers “ /etc/nginx/sites-enabled” :

sudoln-s/etc/nginx/sites-available/freshrss /etc/nginx/sites-enabled/

Testez votre configuration Nginx :

sudo nginx -t

Si tout va bien, rechargez le démon du serveur Nginx et activez-le au démarrage du système :

sudo systemctl reload nginx

Activation de SSL pour votre instance

Pour obtenir un certificat SSL, installez le démon snap core sur votre système :

sudo snap install core

Récupérez et installez l’utilitaire certbot de la Electronic Frontier Foundation (EFF) en utilisant snap :

sudo snap install certbot --classic

Enregistrez votre installation certbot auprès de l’EFF en exécutant la commande suivante :

sudo certbot register --agree-tos-m [email protected]

Demandez un certificat SSL pour votre instance en exécutant la commande suivante :

sudo certbot --nginx-d your-freshrss-domain-name

Accéder et configurer FreshRSS

Ouvrez un navigateur web et naviguez vers l’adresse de votre nouvelle instance FreshRSS. Cliquez sur la liste déroulante sur la page et sélectionnez la langue que vous souhaitez que FreshRSS utilise, puis cliquez sur “Soumettre”.

Une capture d'écran montrant l'invite de sélection de langue pour FreshRSS.

Cela chargera le module d’auto-test de FreshRSS qui vérifiera si l’instance actuelle fonctionne correctement. Pour continuer, faites défiler jusqu’en bas de la page, puis cliquez sur “Passer à l’étape suivante”.

Une capture d'écran montrant l'invite de vérification des dépendances.

Cliquez sur la liste déroulante, sélectionnez “SQLite” puis cliquez sur “Soumettre”.

Une capture d'écran montrant l'invite de sélection de base de données.

Remplissez les détails de l’utilisateur administrateur de votre instance, puis cliquez sur “Soumettre” pour le créer.

Une capture d'écran montrant les détails de l'utilisateur administrateur pour cette instance.

Cliquez sur “Terminer l’installation” pour démarrer correctement votre nouvelle instance FreshRSS.

Activation de l’enregistrement des utilisateurs

Pour commencer, connectez-vous à votre compte administrateur FreshRSS, puis cliquez sur l’icône d’engrenage dans le coin supérieur droit de la page.

Une capture d'écran mettant en évidence le bouton des paramètres pour FreshRSS.

Faites défiler jusqu’à la catégorie “Administration”, puis sélectionnez “Configuration du système”.

Allez dans la sous-catégorie “Formulaire d’enregistrement des utilisateurs”, cliquez sur la boîte déroulante à côté de “Formulaire d’inscription”, puis sélectionnez l’option “Activé : Pas de limite de comptes”.

Une capture d'écran montrant le bouton de basculement d'enregistrement pour l'instance FreshRSS.

Enregistrez votre nouvelle configuration de site en cliquant sur le bouton “Soumettre” en bas de la page.

Effacer les données d’un utilisateur existant

Allez dans votre compte administrateur FreshRSS, puis cliquez sur l’icône d’engrenage dans le coin supérieur droit de la page.

Allez dans la catégorie “Administration”, puis sélectionnez “Gérer les utilisateurs”.

Cela affichera une page avec une liste des utilisateurs actuels de votre instance FreshRSS. Cliquez sur le nom de l’utilisateur que vous souhaitez désactiver.

Une capture d'écran mettant en évidence le nom d'utilisateur cliquable dans l'invite de gestion des utilisateurs.

Cliquez sur le bouton “Purger” pour effacer les flux RSS de l’utilisateur.

Une capture d'écran mettant en évidence le bouton

Héberger votre propre lecteur de flux RSS basé sur le web n’est que le début de la prise de contrôle de vos données personnelles en ligne. Découvrez comment vous pouvez héberger votre propre site de partage de vidéos avec Peertube.

Crédit d’image : Yongma Seo via Unsplash et FreshRSS Github (Logo). Toutes les modifications et captures d’écran par Ramces Red.