mirror of
https://github.com/YunoHost-Apps/monitorix_ynh.git
synced 2024-09-03 19:46:06 +02:00
123 lines
4.1 KiB
Bash
Executable file
123 lines
4.1 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
#=================================================
|
|
# GENERIC START
|
|
#=================================================
|
|
# IMPORT GENERIC HELPERS
|
|
#=================================================
|
|
|
|
source _common.sh
|
|
source experimental_helper.sh
|
|
source /usr/share/yunohost/helpers
|
|
load_vars
|
|
|
|
upgrade_type="$(ynh_check_app_version_changed)"
|
|
|
|
#=================================================
|
|
# STANDARD UPGRADE STEPS
|
|
#=================================================
|
|
# MIGRATION 5 : Manage old settings
|
|
#=================================================
|
|
|
|
ensure_vars_set
|
|
|
|
#=================================================
|
|
# ENSURE DOWNWARD COMPATIBILITY
|
|
#=================================================
|
|
ynh_script_progression --message="Ensuring downward compatibility..." --weight=1
|
|
|
|
# Fix issue on package deployement
|
|
test -e /etc/monitorix/conf.d/00-debian.conf || touch /etc/monitorix/conf.d/00-debian.conf
|
|
|
|
# Remove old hook if exist
|
|
ynh_secure_remove --file=/usr/share/yunohost/hooks/post_iptable_rules/50-"$app"
|
|
|
|
#=================================================
|
|
# STOP SYSTEMD SERVICE
|
|
#=================================================
|
|
ynh_script_progression --message="Stopping a systemd service..." --weight=1
|
|
|
|
ynh_systemd_action --service_name="$app" --action=stop --log_path="/var/log/$app/$app.log"
|
|
|
|
#=================================================
|
|
# "REBUILD" THE APP (DEPLOY NEW SOURCES, RERUN NPM BUILD...)
|
|
#=================================================
|
|
# DOWNLOAD, CHECK AND UNPACK SOURCE
|
|
#=================================================
|
|
|
|
if [ "$upgrade_type" == UPGRADE_APP ]
|
|
then
|
|
ynh_script_progression --message="Upgrading source files..." --weight=1
|
|
|
|
# Download, check integrity, uncompress and patch the source from manifest.toml
|
|
install_monitorix_package
|
|
fi
|
|
|
|
ynh_systemd_action --service_name="$app" --action=stop --log_path=systemd --timeout=15
|
|
|
|
#=================================================
|
|
# MIGRATION 2
|
|
#=================================================
|
|
|
|
# Migrate log files
|
|
if [ ! -d /var/log/"${app}" ]; then
|
|
mkdir -p /var/log/new_"${app}"
|
|
mv -t /var/log/new_"${app}" /var/log/monitorix*
|
|
mv /var/log/new_"${app}" /var/log/"${app}"
|
|
fi
|
|
|
|
# Migrate data directory
|
|
if [ -e /var/lib/monitorix/system.rrd ] && [ ! -e "$data_dir"/system.rrd ] ; then
|
|
mv -f -t "$data_dir/" /var/lib/monitorix/*
|
|
fi
|
|
|
|
#=================================================
|
|
# REAPPLY SYSTEM CONFIGURATIONS
|
|
#=================================================
|
|
ynh_script_progression --message="Upgrading configurations related to $app..." --weight=1
|
|
|
|
ynh_add_jinja_config --template=monitorix.conf --destination=/etc/monitorix/monitorix.conf
|
|
ynh_add_jinja_config --template=nginx_status.conf --destination="$nginx_status_conf"
|
|
if "$phpfpm_installed"; then
|
|
config_php_fpm
|
|
fi
|
|
ynh_add_nginx_config
|
|
ynh_add_systemd_config
|
|
|
|
yunohost service add "$app" --description=Monitorix --log=systemd
|
|
|
|
ynh_script_progression --message="Configuring databases access..."
|
|
configure_db
|
|
|
|
ynh_script_progression --message="Configuring php fpm access if needed..."
|
|
if "$phpfpm_installed"; then
|
|
config_php_fpm
|
|
fi
|
|
|
|
configure_hooks
|
|
configure_alerts_email
|
|
|
|
#=================================================
|
|
# GENERIC FINALIZATION
|
|
#=================================================
|
|
ynh_script_progression --message="Protecting directory..."
|
|
|
|
set_permission
|
|
|
|
ynh_use_logrotate --logfile="/var/log/$app"
|
|
|
|
#=================================================
|
|
# START SYSTEMD SERVICE
|
|
#=================================================
|
|
ynh_script_progression --message="Starting a systemd service..." --weight=1
|
|
|
|
ynh_systemd_action --service_name="$app" --action=restart --log_path=systemd --line_match=' - Ok, ready.'
|
|
# when we change the value of 'listen [::1]:xxx;' nginx don't reload correctly the config, so force to restart to ensure that the new config are loaded
|
|
ynh_systemd_action --service_name=nginx.service --action=restart
|
|
save_vars_current_value
|
|
|
|
#=================================================
|
|
# END OF SCRIPT
|
|
#=================================================
|
|
|
|
ynh_script_progression --message="Upgrade of $app completed" --last
|