Upgrade.sh (#281)
[oweals/peertube.git] / scripts / upgrade.sh
1 #!/bin/bash
2
3 ### Note !! ###
4 # On shell prompt do :
5 #
6 # $ su - peertube
7 # $ ./upgrade.sh
8 ############
9
10 # Stcict mode 
11 set -e
12
13 # Backup database
14 SQL_BACKUP_PATH="/var/www/peertube/backup/sql-peertube_prod-$(date -Im).bak" 
15 mkdir -p ~/backup
16 pg_dump -U peertube -W -h localhost -F c peertube_prod -f "$SQL_BACKUP_PATH" 
17
18 # Get and Display the Latest Version
19 VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4)
20 echo "Latest Peertube version is $VERSION"
21 wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip" -O ~/versions/peertube-${VERSION}.zip 
22 cd ~/versions
23 unzip -o peertube-${VERSION}.zip
24 rm -f peertube-${VERSION}.zip
25
26 # Upgrade Scripts
27 rm -rf ~/peertube-latest
28 ln -s ~/versions/peertube-${VERSION} ~/peertube-latest
29 cd  ~/peertube-latest
30 yarn install --production --pure-lockfile 
31 cp  ~/peertube-latest/config/default.yaml ~/config/default.yaml
32 diff  ~/peertube-latest/config/production.yaml.example ~/config/production.yaml 
33
34 exit 0