#!/bin/bash
-### Note !! ###
-# On shell prompt do :
-#
-# $ su - peertube
-# $ ./upgrade.sh
-############
-
-# Stcict mode
+# Strict mode
set -e
# Backup database
SQL_BACKUP_PATH="/var/www/peertube/backup/sql-peertube_prod-$(date -Im).bak"
-mkdir -p ~/backup
+mkdir -p /var/www/peertube/backup
pg_dump -U peertube -W -h localhost -F c peertube_prod -f "$SQL_BACKUP_PATH"
# Get and Display the Latest Version
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"
-wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" -O ~/versions/peertube-${VERSION}.zip
-cd ~/versions
+wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" -O /var/www/peertube/versions/peertube-${VERSION}.zip
+cd /var/www/peertube/versions
unzip -o peertube-${VERSION}.zip
rm -f peertube-${VERSION}.zip
# Upgrade Scripts
-rm -rf ~/peertube-latest
-ln -s ~/versions/peertube-${VERSION} ~/peertube-latest
-cd ~/peertube-latest
+rm -rf /var/www/peertube/peertube-latest
+ln -s /var/www/peertube/versions/peertube-${VERSION} /var/www/peertube/peertube-latest
+cd /var/www/peertube/peertube-latest
yarn install --production --pure-lockfile
-cp ~/peertube-latest/config/default.yaml ~/config/default.yaml
-diff ~/peertube-latest/config/production.yaml.example ~/config/production.yaml
+cp /var/www/peertube/peertube-latest/config/default.yaml /var/www/peertube/config/default.yaml
exit 0
```
## Upgrade
-#### Auto
-Via the bash Script :
+#### Auto (minor versions only)
```
-$ su - peertube
-$ cd scripts && ./upgrade.sh
-$ exit
-$ systemctl restart peertube
-$ systemctl status peertube
+$ cd /var/www/peertube/peertube-latest/scripts && sudo -u peertube ./upgrade.sh
+$ diff /var/www/peertube/versions/peertube-${VERSION}/config/production.yaml.example /var/www/peertube/config/production.yaml
+$ sudo systemctl restart peertube && sudo journalctl -fu peertube
```
-#### Manuel
+#### Manually
+
Make a SQL backup
```
```
$ sudo -u peertube cp /var/www/peertube/versions/peertube-${VERSION}/config/default.yaml /var/www/peertube/config/default.yaml
-$ diff /var/www/peertube/versions/peertube-${VERSION}/config//production.yaml.example /var/www/peertube/config/production.yaml
+$ diff /var/www/peertube/versions/peertube-${VERSION}/config/production.yaml.example /var/www/peertube/config/production.yaml
```
Change the link to point to the latest version: