1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/diaspora_ynh.git synced 2024-09-03 18:26:13 +02:00
diaspora_ynh/scripts/remove
Augustin Trancart be2806ee9e Refacto install script
- secure remove (only remove things if we did add the thing )
- switch to ynh_replace_string for some stuff (instead of templates,
    discouraged)
- extract some part pour restore script
2020-05-21 14:43:45 +02:00

98 lines
3.3 KiB
Bash

#!/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
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 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