Table des matières

Peertube

Le tuto est testé et optimisé pour Debian buster x64.

La documentation officielle, elle est généralisée pour toutes les configurations.

Dépendance

apt remove apache2*
apt install curl sudo unzip apt-transport-https vim
apt install nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git python-dev

NB: ffmpeg > 3

nodeJS 10.x

Installation de la version 10:

curl -sL https://deb.nodesource.com/setup_10.x | bash -
apt-get install -y nodejs

Yarn > 1.5

curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
 
apt update && apt install yarn

je ne sais pas

systemctl start redis postgresql

PeerTube user

Créer un user peertube avec /var/www/peertube home:

adduser user sudo

Quitter et revenir pour que le changement soit pris en compte !

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

Le mot de passe:

  sudo passwd peertube

Database

sudo -u postgres createuser -P peertube
sudo -u postgres createdb -O peertube peertube_prod
sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" peertube_prod
sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_prod

Mise en place de Peertube

Préparer le répertoire PeerTube

Vérification de la dernière version:

  VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION"

Ouvrir le répertoire Peertube et mettre des droits

  cd /var/www/peertube && sudo -u peertube mkdir config storage versions && cd versions

Télécharger la dernière version du client Peertube, décompresser et enlever le zip :

  sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip"
  sudo -u peertube unzip peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip

Installation de Peertube

  cd ../ && sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest
  cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile

PeerTube configuration

Copier l’exemple de configuration:

  cd /var/www/peertube && sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml

Éditer le fichier

sudo nano config/production.yaml 

PeerTube ne supporte pas le changement d'host , il est définitif

Webserver

Copier la configuration nginx:

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

Then modify the webserver configuration file. Please pay attention to the alias keys of the static locations. It should correspond to the paths of your storage directories (set in the configuration file inside the storage key).

  sudo vim /etc/nginx/sites-available/peertube

Activer le fichier de configuration :

  sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube

To generate the certificate for your domain as required to make https work you can use Let's Encrypt:

  sudo systemctl stop nginx
  sudo vim /etc/nginx/sites-available/peertube # Comment ssl_certificate and ssl_certificate_key lines
  sudo certbot --authenticator standalone --installer nginx --post-hook "systemctl start nginx"
  sudo vim /etc/nginx/sites-available/peertube # Uncomment ssl_certificate and ssl_certificate_key lines
  sudo systemctl reload nginx

Ce rappeler qu'il faut le renouveler tous les 90 jours !

Recharger nginx:

  sudo systemctl reload nginx

TCP/IP Tuning

  sudo cp /var/www/peertube/peertube-latest/support/sysctl.d/30-peertube-tcp.conf /etc/sysctl.d/
  sudo sysctl -p /etc/sysctl.d/30-peertube-tcp.conf

Your distro may enable this by default, but at least Debian 9 does not, and the default FIFO scheduler is quite prone to “Buffer Bloat” and extreme latency when dealing with slower client links as we often encounter in a video server.

systemd

Si votre OS utilise systemd, copier la configuration suivante:

  sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/

mettre à jour le fichier service :

  sudo vim /etc/systemd/system/peertube.service

Dire au systemd de relire la config:

  sudo systemctl daemon-reload

Si vous voulez que Peerture redémarre au boot:

  sudo systemctl enable peertube

Démarrer:

  sudo systemctl start peertube
  sudo journalctl -feu peertube

Configuration css

Dans administration, configuration, configuration avancé et personnalisation.

#custom-css .header {
  color: white;
  background-color: #8530bfff;
}

#custom-css .main-col {
  background-color: white;
}

#custom-css {
  --mainColor: #9073ffff;
  --mainHoverColor: #6639afff;
  --mainForegroundColor: black;
  --menuBackgroundColor: #2d1040ff;
  --menuForegroundColor: white;
  --submenuColor: #AFAED6;
  --inputColor: white;
  --inputPlaceholderColor: black;
}

source : https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/production.md