====== 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 {{tag>Tuto video web}}