#!/bin/bash #================================================= # GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= source _common.sh source /usr/share/yunohost/helpers can_remove_db=${can_remove_db:=1} can_remove_home=${can_remov_home:=1} can_remove_user=${can_remove_user:=1} #================================================= # LOAD SETTINGS #================================================= ynh_script_progression --message="Load settings" app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get $app domain) db_name=$(ynh_app_setting_get $app db_name) final_path=$(ynh_app_setting_get $app final_path) #================================================= # STANDARD REMOVE #================================================= # STOP AND REMOVE SERVICE #================================================= ynh_script_progression --message="Remove services" yunohost service remove $app.target systemctl stop ${app}.target ${app}_sidekiq.service ${app}_web.service systemctl disable ${app}.target ${app}_sidekiq.service ${app}_web.service --quiet ynh_secure_remove --file="/etc/systemd/system/${app}_web.service" ynh_secure_remove --file="/etc/systemd/system/${app}_sidekiq.service" ynh_secure_remove --file="/etc/tmpfiles.d/${app}.conf" ynh_secure_remove --file="/etc/systemd/system/${app}.target" ynh_secure_remove --file="/run/${app}" systemctl daemon-reload #================================================= # REMOVE SERVICE FROM ADMIN PANEL #================================================= if yunohost service status | grep -q $app then echo "Remove $app service" yunohost service remove $app fi #================================================= # REMOVE THE POSTGRESQL DATABASE #================================================= if [ $can_remove_db -eq 1 ]; then ynh_script_progression --message="Remove database" # Remove a database if it exists, along with the associated user ynh_psql_remove_db $db_name $db_name fi #================================================= # REMOVE DEPENDENCIES #================================================= ynh_script_progression --message="Remove app dependencies" --weight=10 # Remove metapackage and its dependencies ynh_remove_app_dependencies #================================================= # REMOVE NGINX CONFIGURATION #================================================= ynh_script_progression --message="Remove nginx config" # Remove the dedicated nginx config ynh_remove_nginx_config #================================================= # GENERIC FINALIZATION #================================================= # REMOVE DEDICATED USER #================================================= if [ $can_remove_user -eq 1 ]; then ynh_script_progression --message="Remove $app user" # Delete a system user # because we use gpg, sometimes rogue processes (gpg an d dirmngr) stays a bit, # preventing the deletion of the user. Hence we kill all processes belonging to $app pkill -9 -u `id -u $app` ynh_system_user_delete $app fi #================================================= # REMOVE RUBY #================================================= ynh_script_progression --message="Remove ruby (if this is the last app using it)" source $final_path/Experimental_helpers/ynh_install_ruby/ynh_install_ruby ynh_remove_ruby #================================================= # REMOVE APP MAIN DIR #================================================= if [ $can_remove_home -eq 1 ]; then ynh_script_progression --message="Remove $final_path" # Remove the app directory securely ynh_secure_remove "$final_path" fi