#!/bin/bash #================================================= # GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= source _common.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_config --jinja --template=monitorix.conf --destination=/etc/monitorix/monitorix.conf ynh_add_config --jinja --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