2015-11-18 17:23:35 +01:00
|
|
|
#!/bin/bash
|
2017-02-04 19:14:21 +01:00
|
|
|
|
2017-10-11 12:13:37 +02:00
|
|
|
#=================================================
|
|
|
|
# GENERIC START
|
|
|
|
#=================================================
|
|
|
|
# IMPORT GENERIC HELPERS
|
|
|
|
#=================================================
|
|
|
|
|
2017-02-04 19:20:51 +01:00
|
|
|
source /usr/share/yunohost/helpers
|
2015-11-18 17:23:35 +01:00
|
|
|
|
2017-10-11 12:13:37 +02:00
|
|
|
#=================================================
|
|
|
|
# MANAGE SCRIPT FAILURE
|
|
|
|
#=================================================
|
|
|
|
|
2017-10-10 13:00:33 +02:00
|
|
|
# Exit if an error occurs during the execution of the script
|
|
|
|
ynh_abort_if_errors
|
|
|
|
|
2017-10-11 12:13:37 +02:00
|
|
|
#=================================================
|
|
|
|
# LOAD SETTINGS
|
|
|
|
#=================================================
|
|
|
|
|
2017-10-10 14:26:45 +02:00
|
|
|
app=$YNH_APP_INSTANCE_NAME
|
2017-02-04 19:20:51 +01:00
|
|
|
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
|
|
|
root_path="$(pwd)/.."
|
|
|
|
final_path=/var/www/mattermost
|
|
|
|
version=$(cat "$root_path/VERSION")
|
|
|
|
archive_filename="mattermost-$version.tar.gz"
|
|
|
|
|
2017-10-11 12:13:37 +02:00
|
|
|
#=================================================
|
|
|
|
# ACTIVE TRAP
|
|
|
|
#=================================================
|
|
|
|
|
2015-11-18 17:23:35 +01:00
|
|
|
function cleanup_and_restart
|
|
|
|
{
|
|
|
|
set +e
|
2017-09-12 12:00:26 +02:00
|
|
|
sudo rm -f "$archive_filename"
|
2015-11-18 17:23:35 +01:00
|
|
|
sudo supervisorctl start mattermost
|
2017-02-04 19:20:51 +01:00
|
|
|
|
|
|
|
# Exit (without triggering a package_linter warning)
|
2017-09-12 12:00:10 +02:00
|
|
|
die_command='ynh_' + 'die'
|
2017-02-04 19:20:51 +01:00
|
|
|
$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
|
|
|
|
2017-10-11 12:13:37 +02:00
|
|
|
#=================================================
|
|
|
|
# STANDARD UPGRADE STEPS
|
|
|
|
#=================================================
|
|
|
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
|
|
|
#=================================================
|
|
|
|
|
2016-04-17 18:35:42 +02:00
|
|
|
archive_url="https://releases.mattermost.com/${version}/mattermost-team-${version}-linux-amd64.tar.gz"
|
2017-02-04 19:20:51 +01:00
|
|
|
sudo wget --quiet --output-document "$archive_filename" "$archive_url"
|
2015-11-18 17:23:35 +01:00
|
|
|
|
2017-10-11 12:13:37 +02:00
|
|
|
#=================================================
|
|
|
|
# STOP SERVER
|
|
|
|
#=================================================
|
|
|
|
|
2017-09-12 11:59:47 +02:00
|
|
|
sudo supervisorctl stop mattermost
|
|
|
|
|
2017-10-11 12:13:37 +02: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
|
|
|
|
2017-10-11 12:13:37 +02: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
|
2017-02-04 19:20:51 +01:00
|
|
|
sudo rm -f "$archive_filename"
|
2015-11-18 17:23:35 +01:00
|
|
|
|
2017-10-11 12:13:37 +02: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
|
|
|
|
2017-10-11 12:13:37 +02:00
|
|
|
#=================================================
|
|
|
|
# SPECIFIC UPGRADE STEPS
|
|
|
|
#=================================================
|
|
|
|
|
2017-10-10 13:34:43 +02:00
|
|
|
# Fix log FileLocation path (changed in Mattermost 3.8, makes Mattermost >= 4.2 crash)
|
|
|
|
# https://docs.mattermost.com/administration/changelog.html#release-v3-8-3
|
|
|
|
sudo sed -i "s|\"FileLocation\": \"/var/log/mattermost.log\"|\"FileLocation\": \"/var/log\"|g" "$config_file"
|
|
|
|
|
2017-10-11 12:13:37 +02: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
|
|
|
|
2017-10-11 12:13:37 +02:00
|
|
|
#=================================================
|
|
|
|
# RELOAD NGINX
|
|
|
|
#=================================================
|
|
|
|
|
|
|
|
sudo service nginx reload
|
|
|
|
|
|
|
|
#=================================================
|
|
|
|
# START SERVER
|
|
|
|
#=================================================
|
2017-07-21 22:08:33 +02:00
|
|
|
|
2015-11-18 17:23:35 +01:00
|
|
|
sudo supervisorctl start mattermost
|