After you upgrade nodejs to version 18, run the upgrade script listed in the official upgrade doc.
cd /var/www/peertube/peertube-latest/scripts && sudo -H -u peertube ./upgrade.sh
sudo systemctl restart peertube # Or use your OS command to restart PeerTube if you don't use systemd
One the above script finished running, you’ll need to manually modify some configuration files.
I’m using notepad++ with the plugin Compare to help me with the job.
Make sure to back up files before starting this task!
The first file you need to modify manually is the new production.yaml.example which is located in
/var/www/peertube/versions/peertube-v6.0.1/config, you’ll use the new file to overwrite the old one which is located in
/var/www/peertube/config named production.yaml.
Download the new config file from the VPS and rename the new file production.yaml.example to 6.0.1.yaml and the old production.yaml to 5.2.1.yaml, this is not mandatory but is recommended to avoid confusion when modifying files later on.
Open both files with notepad++. Then click Plugins->Compare->Compare:
Notepad++ will display the two files side by side on the screen, and highlight the differences.
The new file is on the left side, which is the one you’ll be editing, and the old configuration file is on the right side. You’ll need to transfer some of the configuration information from the old file into the new one.
The things you need to change are related to your Peertube instance, such as domain name, keys, database details, redis, domain certificates etc. Be really careful during this process and double-check everything.
Once the old config infos were seccessfully migrated, rename the folder:
sudo -u peertube mv '/var/www/peertube/storage/videos/' '/var/www/peertube/storage/web-videos/'
Since the folder name has been changed in the new production.yaml(6.0.1.yaml), so we need to change it manually.
Save the new file 6.0.1.yaml as production.yaml, upload and overwrite the old one(remember to make a back up!) located in
Pay attention to the file’s ownership. If it’s not already set to
peertube, you can change it by running the command
chown peertube production.yaml
This step is similar to the previous one, so I won’t repeat it. Just fill in the old configuration details into the new Nginx config file, and make sure to check it several times for accuracy! Make a back up before you overwrite the file.
That’s it! Now, all we need is to restart everything. You can simply reboot the server, or you can restart peertube and nginx manually:
sudo systemctl reload nginx
sudo systemctl restart peertube
If anything goes wrong, look into the log by running
sudo journalctl -fu peertube