User Tools


server:peertube

1. Systemvorbereitung

  Alle nötigen Pakete installieren:

apt install -y curl sudo unzip vim ffmpeg postgresql postgresql-contrib g++ make redis-server git python-dev cron wget

  PostgreSQL und Redis starten:

systemctl start postgresql redis

2. Node.js & Yarn Installation

Deine Anleitung sagt, Node.js 14 wird benötigt, aber PeerTube 7.2.1 (neuere Version) benötigt Node.js >= 20.

Deshalb musst du Node.js 20 installieren (statt 14), um das Problem mit dem inkompatiblen Node.js zu beheben.

So installierst du Node.js 20 und yarn:

curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs npm install –global yarn

Danach:

node -v # sollte v20.x.x oder höher anzeigen yarn -v

3. PeerTube Benutzer anlegen

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

4. PostgreSQL Datenbank und Nutzer einrichten

su -l postgres createuser -P peertube # Passwort merken! createdb -O peertube -E UTF8 -T template0 peertube_prod psql -c “CREATE EXTENSION pg_trgm;” peertube_prod psql -c “CREATE EXTENSION unaccent;” peertube_prod exit

5. PeerTube Verzeichnisse erstellen

su -l peertube mkdir config storage versions chmod 750 config exit

6. PeerTube herunterladen & entpacken

su -l peertube VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '“' -f 4) cd /var/www/peertube/versions wget “https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip” unzip peertube-${VERSION}.zip rm peertube-${VERSION}.zip exit

7. Yarn installieren (PeerTube Abhängigkeiten)

su -l peertube cd /var/www/peertube ln -s versions/peertube-${VERSION} ./peertube-latest cd peertube-latest yarn install –production –pure-lockfile exit

8. Konfiguration anpassen

su -l peertube cd /var/www/peertube cp peertube-latest/config/production.yaml.example config/production.yaml vim config/production.yaml # Hier hostname, Datenbank, Admin-Mail, SMTP etc. eintragen (siehe Anleitung) exit

9. SSL Zertifikat mit Certbot holen

certbot –nginx -d dein.hostname.tld certonly

10. Nginx konfigurieren

cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube sed -i 's/${WEBSERVER_HOST}/dein.hostname.tld/g' /etc/nginx/sites-available/peertube sed -i 's/${PEERTUBE_HOST}/127.0.0.1:9000/g' /etc/nginx/sites-available/peertube ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube systemctl reload nginx

11. PeerTube als Service starten

cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/ systemctl daemon-reload systemctl start peertube systemctl status peertube # prüfen, ob es läuft

12. Admin-Passwort setzen

su -l peertube cd /var/www/peertube/peertube-latest NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password – -u root exit