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.
