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

75 lines
2 KiB
Bash

#!/bin/bash
# Exit on command errors and treat unset variables as an error
set -eu
shopt -s extglob # sets extended pattern matching options in the bash shell
app=$YNH_APP_INSTANCE_NAME
# Source local helpers
source ./_common.sh
SRCPATH=$(pwd)
# Source YunoHost helpers
source /usr/share/yunohost/helpers
# Retrieve app settings
domain=$(ynh_app_setting_get "$app" domain)
path=$(ynh_app_setting_get "$app" path)
is_public=$(ynh_app_setting_get "$app" is_public)
port=$(ynh_app_setting_get "$app" port)
# test port settings
if [[ -z "$port" ]]; then
port=3000
ynh_app_setting_set $app port $port
fi
# Fix path if needed
path=$(fix_path $path)
#=================================================
# MANAGE SCRIPT FAILURE
#=================================================
# Use prior backup and restore on error only if backup feature
# exists on installed instance
ynh_backup_before_upgrade # Backup the current version of the app
ynh_clean_setup () {
ynh_restore_upgradebackup
}
ynh_abort_if_errors # Stop script if an error is detected
# There's currently nothing else to upgrade than packaging files
# as InfluxDB/Grafana updates are managed through APT
# Restart service
sudo systemctl restart grafana-server
# Declare services for YunoHost monitoring
sudo yunohost service add influxdb
sudo yunohost service add grafana-server --log "/var/log/grafana/grafana.log"
# Upgrade dependencies if needed
install_dependencies
# Modify Nginx configuration file and copy it to Nginx conf directory
if [[ "$path" == "/" ]] ; then
nginx_conf=$SRCPATH/../conf/nginx_root.conf
else
nginx_conf=$SRCPATH/../conf/nginx_sub_dir.conf
fi
sed -i "s@YNH_WWW_PATH@${path}@g" $nginx_conf
sed -i "s@YNH_WWW_PORT@$port@g" $nginx_conf
sudo cp $nginx_conf /etc/nginx/conf.d/$domain.d/$app.conf
# If app is public, add url to SSOWat conf as skipped_uris
if [[ $is_public -eq 1 ]]; then
# See install script
ynh_app_setting_set "$app" unprotected_uris "/"
fi
# Reload nginx service
sudo systemctl reload nginx