diff options
| author | Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr> | 2018-05-01 18:49:32 +0200 |
|---|---|---|
| committer | Jean-Baptiste Holcroft <jean-baptiste@holcroft.fr> | 2018-05-01 18:49:32 +0200 |
| commit | c3f2f5c64f7a27c18c5342219299432ff4f6209c (patch) | |
| tree | d1a0aba1f9c060099ba55017690bc25fc4c340bf /scripts/remove | |
| parent | 00a9710a4e97a4fae904d467854eb159af29d402 (diff) | |
| download | mastodon_ynh-c3f2f5c64f7a27c18c5342219299432ff4f6209c.tar.gz mastodon_ynh-c3f2f5c64f7a27c18c5342219299432ff4f6209c.tar.bz2 mastodon_ynh-c3f2f5c64f7a27c18c5342219299432ff4f6209c.zip | |
Standardization of removal
Diffstat (limited to 'scripts/remove')
| -rw-r--r-- | scripts/remove | 140 |
1 files changed, 75 insertions, 65 deletions
diff --git a/scripts/remove b/scripts/remove index e60ed37..0c39054 100644 --- a/scripts/remove +++ b/scripts/remove @@ -1,104 +1,114 @@ #!/bin/bash -# Exit on command errors and treat unset variables as an error -set -u - -if [ ! -e _common.sh ]; then - # Get file fonction if not been to the current directory - sudo cp ../settings/scripts/_common.sh ./_common.sh - sudo chmod a+rx _common.sh -fi +#================================================= +# GENERIC START +#================================================= +# IMPORT GENERIC HELPERS +#================================================= source _common.sh # Loads the generic functions usually used in the script # Source app helpers source /usr/share/yunohost/helpers +source _future.sh + + + +#================================================= +# LOAD SETTINGS +#================================================= -# Get multi-instances specific variables app=$YNH_APP_INSTANCE_NAME # Retrieve app settings domain=$(ynh_app_setting_get "$app" domain) +db_name=$(ynh_app_setting_get "$app" db_name) +db_user=$(ynh_sanitize_dbid "$app") +db_name=$(ynh_sanitize_dbid "$app") +final_path=$(ynh_app_setting_get "$app" final_path) -# Stop mastodon-web -if [ -e "/etc/systemd/system/mastodon-web.service" ]; then - echo "Delete systemd script" - sudo systemctl stop mastodon-web.service - ynh_secure_remove "/etc/systemd/system/mastodon-web.service" - sudo systemctl disable mastodon-web.service -fi +#================================================= +# STANDARD REMOVE +#================================================= +# STOP AND REMOVE SERVICE +#================================================= -# Stop mastodon-sidekiq -if [ -e "/etc/systemd/system/mastodon-sidekiq.service" ]; then - echo "Delete systemd script" - sudo systemctl stop mastodon-sidekiq.service - ynh_secure_remove "/etc/systemd/system/mastodon-sidekiq.service" - sudo systemctl disable mastodon-sidekiq.service -fi +ynh_remove_systemd_config "$app-web" +ynh_remove_systemd_config "$app-sidekiq" +ynh_remove_systemd_config "$app-streaming" -# Stop mastodon-sidekiq -if [ -e "/etc/systemd/system/mastodon-streaming.service" ]; then - echo "Delete systemd script" - sudo systemctl stop mastodon-streaming.service - ynh_secure_remove "/etc/systemd/system/mastodon-streaming.service" - sudo systemctl disable mastodon-streaming.service -fi +#================================================= +# REMOVE SERVICE FROM ADMIN PANEL +#============================================== -# Delete service on Yunohost monitoring -if sudo yunohost service status | grep -q mastodon-web +if yunohost service status | grep -q "$app-web" then - echo "Remove mastodon-web service" - sudo yunohost service remove mastodon-web + echo "Remove $app-web service" + yunohost service remove "$app-web" fi -# Delete service on Yunohost monitoring -if sudo yunohost service status | grep -q mastodon-sidekiq +if yunohost service status | grep -q "$app-sidekiq" then - echo "Remove mastodon-sidekiq service" - sudo yunohost service remove mastodon-sidekiq + echo "Remove $app-sidekiq service" + yunohost service remove "$app-sidekiq" fi -# Delete service on Yunohost monitoring -if sudo yunohost service status | grep -q mastodon-streaming +if yunohost service status | grep -q "$app-streaming" then - echo "Remove mastodon-streaming service" - sudo yunohost service remove mastodon-streaming + echo "Remove $app-streaming service" + yunohost service remove "$app-streaming" fi +#================================================= +# REMOVE DEPENDENCIES +#================================================= + +# Remove metapackage and its dependencies +ynh_remove_app_dependencies + +#================================================= +# REMOVE THE PostgreSQL DATABASE +#================================================= + # delete postgresql database & user -db_user=$(ynh_sanitize_dbid "$app") -db_name=$(ynh_sanitize_dbid "$app") ynh_psql_remove_db "$db_name" "$db_user" -# Remove Debian package -sudo apt-get remove --purge -y yarn -#sudo apt-get remove --purge -y imagemagick ffmpeg libpq-dev libxml2-dev libxslt1-dev file curl git -# Delete redis package -#sudo apt-get remove --purge -y redis-server redis-tools -# Delete postgresql package -#sudo apt-get remove --purge -y postgresql postgresql-contrib -# Delete Ruby package -#sudo apt-get remove --purge -y autoconf bison build-essential libssl-dev libyaml-dev libreadline6-dev zlib1g-dev libncurses5-dev libffi-dev libgdbm3 libgdbm-dev +#================================================= +# REMOVE APP MAIN DIR +#================================================= -# Delete app directory and configurations -ynh_secure_remove /opt/$app -[[ -n $domain ]] && sudo rm -f "/etc/nginx/conf.d/${domain}.d/${app}.conf" +# Remove the app directory securely +ynh_secure_remove "$final_path" -# Delete nginx configuration -REMOVE_NGINX_CONF +#================================================= +# REMOVE NGINX CONFIGURATION +#================================================= + +ynh_secure_remove "/etc/nginx/conf.d/${domain}.d/${app}.conf" +systemctl reload nginx + +#================================================= +# SPECIFIC REMOVE +#================================================= +# REMOVE THE CRON FILE +#================================================= # Delete cronlog ynh_secure_remove /etc/cron.d/$app -# Delete source.list + +#================================================= +# REMOVE source.list +#================================================= + ynh_secure_remove /etc/apt/sources.list.d/backports.list ynh_secure_remove /etc/apt/sources.list.d/yarn.list # Delete ruby exec ynh_secure_remove /usr/bin/ruby -# Remove user -sudo userdel -f $app - -# Reload services -sudo systemctl reload nginx +#================================================= +# GENERIC FINALIZATION +#================================================= +# REMOVE DEDICATED USER +#================================================= -echo -e "\e[0m" # Restore normal color +userdel -f $app |
