Vous cherchez une alternative décentralisée à YouTube pour héberger vos vidéos ? PeerTube est la solution open source qui vous permet de créer votre propre plateforme vidéo, tout en gardant le contrôle total sur vos données. Dans ce guide, nous allons voir étape par étape comment installer PeerTube sur un serveur Linux.

Qu’est-ce que PeerTube ?

PeerTube est une plateforme d’hébergement vidéo libre et décentralisée, développée par Framasoft. Contrairement aux plateformes centralisées, PeerTube utilise la technologie peer-to-peer (P2P) pour distribuer les vidéos, ce qui réduit considérablement la charge sur votre serveur.

Les avantages de PeerTube sont nombreux : respect de la vie privée, absence de publicité, fédération avec d’autres instances via le protocole ActivityPub, et personnalisation complète de votre plateforme.

Prérequis pour installer PeerTube

Avant de commencer l’installation, assurez-vous de disposer des éléments suivants.

Configuration matérielle minimale

  • Processeur : 2 cœurs minimum (4 recommandés)
  • RAM : 2 Go minimum (4 Go recommandés)
  • Stockage : 20 Go pour le système + espace pour vos vidéos
  • Bande passante : connexion stable avec au moins 100 Mbps

Configuration logicielle requise

  • Un serveur sous Debian 11/12 ou Ubuntu 22.04/24.04
  • Un nom de domaine pointant vers votre serveur
  • Un accès root ou sudo
  • Les ports 80 et 443 ouverts dans votre pare-feu

Étape 1 : préparer le serveur Linux

Commencez par mettre à jour votre système et installer les dépendances essentielles.

sudo apt update && sudo apt upgrade -y
sudo apt install -y curl sudo unzip vim

Installer Node.js

PeerTube nécessite Node.js version 18.x ou supérieure. Utilisez le gestionnaire de versions NodeSource pour l’installer.

curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash -
sudo apt install -y nodejs

Vérifiez l’installation avec node --version et npm --version.

Installer Yarn

Yarn est le gestionnaire de paquets utilisé par PeerTube.

sudo npm install -g yarn

Installer PostgreSQL

PeerTube utilise PostgreSQL comme base de données.

sudo apt install -y postgresql postgresql-contrib
sudo systemctl enable postgresql
sudo systemctl start postgresql

Créez ensuite la base de données et l’utilisateur PeerTube.

sudo -u postgres psql -c "CREATE USER peertube WITH PASSWORD 'votre_mot_de_passe_securise';"
sudo -u postgres psql -c "CREATE DATABASE peertube_prod OWNER peertube;"
sudo -u postgres psql -c "CREATE EXTENSION IF NOT EXISTS pg_trgm;" peertube_prod
sudo -u postgres psql -c "CREATE EXTENSION IF NOT EXISTS unaccent;" peertube_prod

Installer Redis

Redis est utilisé pour la gestion du cache et des files d’attente.

sudo apt install -y redis-server
sudo systemctl enable redis-server
sudo systemctl start redis-server

Installer FFmpeg

FFmpeg gère le transcodage des vidéos.

sudo apt install -y ffmpeg

Étape 2 : créer l’utilisateur PeerTube

Pour des raisons de sécurité, PeerTube doit s’exécuter avec un utilisateur dédié.

sudo useradd -m -d /var/www/peertube -s /bin/bash peertube
sudo passwd peertube

Étape 3 : télécharger et installer PeerTube

Passez à l’utilisateur PeerTube et créez la structure de répertoires.

sudo su - peertube
mkdir config storage versions
cd versions

Téléchargez la dernière version stable de PeerTube depuis le dépôt GitHub officiel.

VERSION=$(curl -s https://api.github.com/repos/Chocobozzz/PeerTube/releases/latest | grep tag_name | cut -d '"' -f 4)
wget "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip"
unzip peertube-${VERSION}.zip
rm peertube-${VERSION}.zip

Créez un lien symbolique vers la version actuelle.

cd /var/www/peertube
ln -s versions/peertube-${VERSION} peertube-latest
cd peertube-latest
yarn install --production --pure-lockfile

Étape 4 : configurer PeerTube

Copiez le fichier de configuration par défaut et modifiez-le selon vos besoins.

cp /var/www/peertube/peertube-latest/config/production.yaml.example /var/www/peertube/config/production.yaml

Éditez le fichier de configuration avec les paramètres de votre serveur.

vim /var/www/peertube/config/production.yaml

Les paramètres essentiels à modifier sont le nom de domaine (webserver.hostname), les identifiants de la base de données, et la configuration SMTP pour l’envoi d’emails.

Étape 5 : configurer Nginx comme reverse proxy

Installez Nginx et configurez-le pour PeerTube.

exit  # Revenir à l'utilisateur root/sudo
sudo apt install -y nginx

Créez le fichier de configuration Nginx.

sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube
sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/

Modifiez le fichier pour y insérer votre nom de domaine, puis testez et rechargez la configuration.

sudo nginx -t
sudo systemctl reload nginx

Étape 6 : obtenir un certificat SSL avec Let’s Encrypt

Un certificat SSL est indispensable pour sécuriser votre instance PeerTube.

sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d votre-domaine.com

Suivez les instructions à l’écran pour finaliser l’obtention du certificat.

Étape 7 : créer le service systemd

Pour que PeerTube démarre automatiquement au boot du serveur, créez un service systemd.

sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable peertube
sudo systemctl start peertube

Vérifiez que le service fonctionne correctement.

sudo systemctl status peertube

Étape 8 : finaliser l’installation

Accédez à votre instance PeerTube via votre navigateur à l’adresse https://votre-domaine.com. Lors du premier accès, le système vous demandera de créer un compte administrateur.

Récupérez le mot de passe root généré automatiquement.

sudo cat /var/www/peertube/config/production.yaml | grep -A2 "admin:"

Optimisations recommandées pour votre instance PeerTube

Une fois l’installation terminée, plusieurs optimisations permettent d’améliorer les performances de votre plateforme vidéo.

Configurer le transcodage

Dans l’interface d’administration, ajustez les paramètres de transcodage selon la puissance de votre serveur. Activez le transcodage HLS pour une meilleure compatibilité avec les navigateurs modernes.

Activer la fédération

PeerTube peut se connecter à d’autres instances via ActivityPub. Configurez les paramètres de fédération pour permettre à vos utilisateurs de suivre des chaînes d’autres instances.

Mettre en place des sauvegardes

Planifiez des sauvegardes régulières de votre base de données PostgreSQL et du répertoire de stockage des vidéos.

pg_dump -U peertube peertube_prod > backup_peertube_$(date +%Y%m%d).sql

Résolution des problèmes courants

Voici les erreurs fréquentes rencontrées lors de l’installation de PeerTube et leurs solutions.

Le service ne démarre pas : vérifiez les logs avec journalctl -u peertube -f pour identifier l’erreur. Les problèmes de connexion à la base de données ou de permissions sont les causes les plus fréquentes.

Erreur 502 Bad Gateway : assurez-vous que le service PeerTube est bien lancé et que la configuration Nginx pointe vers le bon port (9000 par défaut).

Les vidéos ne se transcodent pas : vérifiez que FFmpeg est correctement installé et que l’utilisateur PeerTube dispose des permissions d’écriture sur le répertoire de stockage.

LIRE AUSSI: Installation de Chatwoot sous Docker

L’installation de PeerTube sur un serveur Linux demande une certaine rigueur, mais offre en retour une plateforme vidéo complète et respectueuse de la vie privée. Grâce à son architecture décentralisée et fédérée, vous contribuez à un web plus libre tout en gardant le contrôle sur votre contenu.

N’hésitez pas à rejoindre la communauté PeerTube sur le forum Framacolibri ou sur Matrix pour échanger avec d’autres administrateurs d’instances. La documentation officielle sur joinpeertube.org reste également une ressource précieuse pour approfondir la configuration de votre serveur.

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *