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