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