mirror of
https://github.com/YunoHost-Apps/grafana_ynh.git
synced 2024-09-03 20:36:29 +02:00
72 lines
1.9 KiB
Bash
72 lines
1.9 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"
|
|
|
|
# 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
|