Le tuto est testé et optimisé pour Debian buster x64.
La documentation officielle, elle est généralisée pour toutes les configurations.
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
Installation de la version 10:
curl -sL https://deb.nodesource.com/setup_10.x | bash - apt-get install -y nodejs
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
systemctl start redis postgresql
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
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
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
cd ../ && sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile
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
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
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.
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
sudo systemctl start peertube sudo journalctl -feu peertube
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