PeerTube installieren (Linux-Server)

 


Dies ist eine Anleitung, um PeerTube auf deinem Linux Server zu installieren.
Diese Anleitung wurde für Linux Ubuntu 16.04 ausgelegt und funktioniert auch mit den üblichen Debian-Distributionen.
Es sind in der Regel alle Befehle und Pakete enthalten, damit auch bei der kleinsten Distribution alles installiert wird, was benötigt wird.

Empfehlung: Installiere PeerTube auf einem neuen System, damit alles problemlos läuft. Solltest du PeerTube auf einem schon laufenden Server mit diversen Diensten installieren möchten, musst du ggf. einige Konfigurationen ändern.

HINWEIS: PeerTube ist noch in der Entwicklung und es kann sich immer etwas ändern. So kann auch die Installationsroutine verändert werden und damit die Anleitung ungültig machen!
Diese Anleitung ist sehr Rudimentär. Es wird nicht genauer auf diverse Schritte oder Konfigurationsmöglichkeiten eingegangen.

Benötigt wird:
– Ein Linux-Server (Debian oder Ubuntu empfohlen)
– Ein schon existierenden Mailserver (Ein Mailprovider wie Google, GMX, Web.de, Telekom, … geht auch.)

Was werden wir machen?
– Wir legen ein Benutzer namens „PeerTube“ an und legen sein Homeverzeichnis nach /var/www/peertube
– Wir installieren einen Webserver mit nginx
– Wir installieren peertube mit allen benötigten Erweiterungen mit der notwendigsten Konfiguration
– Die Registration auf deiner PeerTube-Instanz bleibt vorerst deaktiviert (Kann im Webinterface geändert werden)


Los gehts!


1. Server aktualisieren:


# apt update && apt upgrade

2. Benötigte Software Installieren:


# apt install screen mc vim htop curl sudo unzip nano iftop apt-transport-https build-essential nginx ffmpeg postgresql openssl g++ make redis-server git npm

# sudo apt-get install software-properties-common
# sudo add-apt-repository ppa:certbot/certbot
# sudo apt-get update
# sudo apt-get install python-certbot-nginx

3. NodeJS installieren


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

4. Yarn installieren

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

5. PeerTube als Nutzer anlegen


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

6. PostgreSQL Nutzer anlegen und Passwort vergeben


# 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

7. PeerTube installieren


# 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"
# cd /var/www/peertube && sudo -u peertube mkdir config storage versions && cd versions
# 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
# cd /var/www/peertube && sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml

8. PeerTube konfigurieren


# nano /var/www/peertube/config/production.yaml

>> hostname: Domain angeben
>> password: ‚PasswortAusPostgreSqlInstallation‘
>> Es muss ein gültiger Mailserver angegeben werden und auf die Verschlüsselung geachtet werden.

BEISPIEL:
hostname: dein.mailserver.com
port: 465 # If you use StartTLS: 587
username: [email protected]
password: SuperSicheresPasswort
tls: true # If you use StartTLS: false
disable_starttls: false
ca_file: null # Used for self signed certificates
from_address: '[email protected]'

Transcoding einstellen (kann später im Webinterface geändert werden):
transcoding:
enabled: true
threads: 2
resolutions: # Only created if the original video has a higher resolution, uses mo$
240p: false
360p: false
480p: false
720p: false
1080p: false

Um so mehr CPU-Kerne beim Parameter „threads“ angegeben werden, umso schneller werden Transcoding-Jobs ausgeführt, bremmst aber den Server etwas mehr aus.

9. Nginx anpassen


# 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/peertube
# sudo systemctl stop nginx

# nano /etc/nginx/sites-available/peertube
>> SSL-Zertifikat auskommentieren
>> hostname anpassen
>> Log-Pfade anpassen

10. Lets Encrypt Zertifikat erstellen

# sudo certbot --authenticator standalone --installer nginx --post-hook "systemctl start nginx"

11. Zertifikat in Nginx anpassen

# nano /etc/nginx/sites-available/peertube
>> Zertifikat entweder mit rein nehmen und die neu erstellten Zeilen löschen, oder es so belassen. Dieser Schritt ist optional.

# sudo systemctl reload nginx

12. SystemD einstellen

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

13. PeerTube starten

# sudo systemctl start peertube
# sudo journalctl -feu peertube

14. Im Log nach dem Root-Login suchen

# nano /var/www/peertube/storage/logs/peertube.log

Nutzername: Username: root
Passwort: User password:

 

Nun kann getestet werden, ob dein PeerTube funktioniert!
Rufe dazu einfach die eingestellte Domain auf und logge dich mit den Zugangsdaten aus dem Log ein.
Sollten Fehler auftreten, können diese aus dem Log angeschaut werden.

 

Diese Anleitung wurde anhand zweier Anleitungen erstellt.
– Original Anleitung von Chocobozzz
– Anleitung von RockstarNinja

Beispielvideo mit PeerTube

Das Video befindet sich auf meinem Server und ist in 2160p mit 60FPS vorhanden.

 


10.10.2019 Befehle aktualisiert

Kommentar verfassen