1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/mattermost_ynh.git synced 2024-09-03 19:36:29 +02:00
mattermost_ynh/scripts/upgrade

60 lines
1.6 KiB
Text
Raw Normal View History

2015-11-18 17:23:35 +01:00
#!/bin/bash
set -eu # exit on error ; treat unset variables as error
# Source app helpers
source /usr/share/yunohost/helpers
2015-11-18 17:23:35 +01:00
# Retrieve arguments
domain=$(ynh_app_setting_get mattermost domain)
is_public=$(ynh_app_setting_get mattermost is_public)
2015-11-18 17:23:35 +01:00
2016-04-17 18:35:42 +02:00
# Set up common variables
root_path="$(pwd)/.."
final_path=/var/www/mattermost
version=$(cat "$root_path/VERSION")
archive_filename="mattermost-$version.tar.gz"
2015-11-18 17:23:35 +01:00
# Cleanup and restart if exit with an error
function cleanup_and_restart
{
set +e
sudo rm -f "$archive_filename"
2015-11-18 17:23:35 +01:00
sudo supervisorctl start mattermost
# Exit (without triggering a package_linter warning)
die_command='ynh_' + 'die'
$die_command "An error occurred during the installation."
2015-11-18 17:23:35 +01:00
}
2016-04-17 17:57:47 +02:00
trap cleanup_and_restart ERR
2015-11-18 17:23:35 +01:00
# Download code
2016-04-17 18:35:42 +02:00
archive_url="https://releases.mattermost.com/${version}/mattermost-team-${version}-linux-amd64.tar.gz"
sudo wget --quiet --output-document "$archive_filename" "$archive_url"
2015-11-18 17:23:35 +01:00
# Stop server
sudo supervisorctl stop mattermost
2015-11-18 17:23:35 +01:00
# Backup configuration file
2016-04-17 18:35:42 +02:00
config_file="$final_path/config/config.json"
backup_config_file="/tmp/config.json"
sudo cp -f "$config_file" "$backup_config_file"
2015-11-18 17:23:35 +01:00
# Copy new code
2016-04-17 18:35:42 +02:00
sudo rm -rf "$final_path"
sudo mkdir -p "$final_path"
sudo tar -xvz --file "$archive_filename" --directory "$final_path" --strip-components 1
sudo rm -f "$archive_filename"
2015-11-18 17:23:35 +01:00
# Restore configuration file
2016-04-17 18:35:42 +02:00
sudo cp -f "$backup_config_file" "$config_file"
2015-11-18 17:23:35 +01:00
# Restore file permissions
2016-04-17 18:35:42 +02:00
sudo chown -R www-data: "$final_path"
2015-11-18 17:23:35 +01:00
# Update Nginx configuration file
sudo cp -f $root_path/conf/nginx.conf-nosub /etc/nginx/conf.d/$domain.d/mattermost.conf
2015-11-18 17:23:35 +01:00
# Start server
sudo supervisorctl start mattermost