aboutsummaryrefslogtreecommitdiff
path: root/scripts/remove
diff options
context:
space:
mode:
authorJean-Baptiste Holcroft <jean-baptiste@holcroft.fr>2018-05-01 18:49:32 +0200
committerJean-Baptiste Holcroft <jean-baptiste@holcroft.fr>2018-05-01 18:49:32 +0200
commitc3f2f5c64f7a27c18c5342219299432ff4f6209c (patch)
treed1a0aba1f9c060099ba55017690bc25fc4c340bf /scripts/remove
parent00a9710a4e97a4fae904d467854eb159af29d402 (diff)
downloadmastodon_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/remove140
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