Guide de déploiement

Héberger FreshRSS sur votre propre VPS

Déployer sur un VPS Cloud →

Self-hosting6 min de lecture

Héberger FreshRSS sur votre propre VPS

Les agrégateurs RSS commerciaux ferment, changent de tarif ou revendent vos centres d'intérêt. FreshRSS renverse la logique : un lecteur de flux léger, multi-utilisateurs, que vous hébergez vous-même. Voici comment le déployer proprement sur un VPS, avec base de données, reverse proxy et certificat HTTPS.

Pourquoi auto-héberger FreshRSS sur un VPS

FreshRSS est un agrégateur de flux RSS/Atom écrit en PHP, conçu pour être discret en ressources tout en gérant des milliers d'articles. Le self-hosting sur VPS résout trois problèmes que les services fermés ne traitent pas : la pérennité (votre veille ne disparaît pas du jour au lendemain), la confidentialité (personne ne profile vos abonnements) et la fraîcheur (vous définissez la fréquence de rafraîchissement via cron, sans quota imposé). Un VPS, contrairement à un hébergement mutualisé, vous donne un accès SSH complet, le droit de lancer un conteneur Docker et de planifier des tâches — exactement ce dont FreshRSS a besoin pour rafraîchir les flux en arrière-plan.

Bénéfices concrets du FreshRSS auto-hébergé

  • API native compatible Fever et Google Reader : synchronisez avec Reeder, FeedMe ou Fluent Reader sur mobile.
  • Extension GReader / scraping : récupérez le contenu complet d'articles tronqués grâce aux filtres XPath.
  • Multi-utilisateurs avec quotas par compte : idéal pour partager une instance au sein d'une agence.
  • Empreinte mémoire minime (200 à 300 Mo) : tourne sur le plus petit des VPS sans broncher.
  • Rafraîchissement piloté par cron : vous décidez si les flux se mettent à jour toutes les 5 minutes ou toutes les heures.
  • Sauvegarde triviale : une base SQLite/MySQL et un dossier de données suffisent à tout restaurer.

Prérequis techniques

FreshRSS est l'une des applications les plus frugales du self-hosting. Comptez 1 vCPU et 1 Go de RAM pour une instance personnelle à quelques utilisateurs ; 10 Go de disque suffisent largement, l'essentiel étant occupé par l'historique d'articles. Côté logiciel : Docker et le plugin Docker Compose installés sur le VPS, un nom de domaine (ou sous-domaine type rss.votredomaine.ma) pointé en A vers l'IP du serveur, et un port 80/443 ouvert pour le reverse proxy. PHP n'a pas à être installé sur l'hôte : l'image officielle freshrss/freshrss embarque tout.

Déployer FreshRSS pas à pas

01

Préparer le VPS et Docker

Connectez-vous en SSH, mettez à jour le système puis installez Docker : curl -fsSL https://get.docker.com | sh. Vérifiez avec docker compose version. Créez un dossier projet mkdir -p /opt/freshrss && cd /opt/freshrss.

02

Écrire le docker-compose.yml

Définissez un service à partir de l'image freshrss/freshrss:latest, montez deux volumes (./data:/var/www/FreshRSS/data et ./extensions:/var/www/FreshRSS/extensions) et fixez CRON_MIN=*/20 pour rafraîchir les flux toutes les 20 minutes. Exposez le port interne 80 uniquement vers le reverse proxy, pas vers l'extérieur.

03

Lancer le conteneur

Démarrez la stack avec docker compose up -d, puis suivez l'initialisation via docker compose logs -f. Le conteneur applique les migrations et crée l'arborescence de données au premier démarrage.

04

Mettre en place le reverse proxy et le SSL

Placez un reverse proxy (Caddy ou Nginx Proxy Manager) devant FreshRSS. Avec Caddy, deux lignes suffisent : rss.votredomaine.ma { reverse_proxy freshrss:80 } et le certificat Let's Encrypt est obtenu et renouvelé automatiquement.

05

Terminer l'installation web

Ouvrez https://rss.votredomaine.ma, choisissez le backend de base (SQLite pour un usage perso, MySQL/PostgreSQL pour plusieurs utilisateurs), créez le compte administrateur et activez l'API dans Profil pour la synchronisation mobile.

06

Importer vos flux et fiabiliser le cron

Importez votre OPML existant depuis l'ancien lecteur. Vérifiez que le job interne tourne avec docker compose exec freshrss ./cli/actualize.php lancé manuellement une première fois pour valider la récupération des articles.

Pour les sites qui ne publient qu'un extrait dans leur flux, installez l'extension officielle « FreshRSS Content Selector » : configurez un sélecteur CSS (ex : article.post-content) par abonnement et FreshRSS ira récupérer le texte intégral à chaque rafraîchissement. Combinez-la avec l'extension de filtres pour masquer automatiquement les articles sponsorisés détectés par mot-clé.

Lancez votre veille en quelques minutes

Le VPS Cloud ServOrbit arrive avec Docker préinstallé et un reverse proxy prêt à l'emploi : déployez votre template FreshRSS et reprenez la main sur vos flux, sans dépendre d'aucun service tiers.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou écrivez à notre équipe — support en anglais, français et arabe.