aboutsummaryrefslogtreecommitdiff
path: root/scripts/remove
diff options
context:
space:
mode:
authornemsia <nemsia@nemsia.org>2018-05-15 11:31:31 +0200
committerGitHub <noreply@github.com>2018-05-15 11:31:31 +0200
commitcc1d482ce0cd8a1d89b63c77c58ab583de0e5486 (patch)
tree1819ff84a1da9f743c14ad54d4857ed7d5ef1bb1 /scripts/remove
parentb4fdc7ea3ea53916baf80974783569c942cac360 (diff)
parent56e9231be42fc514bf0e8c7e2bbfd16a9c8e575b (diff)
downloadmastodon_ynh-cc1d482ce0cd8a1d89b63c77c58ab583de0e5486.tar.gz
mastodon_ynh-cc1d482ce0cd8a1d89b63c77c58ab583de0e5486.tar.bz2
mastodon_ynh-cc1d482ce0cd8a1d89b63c77c58ab583de0e5486.zip
Merge pull request #18 from YunoHost-Apps/testing
Testing
Diffstat (limited to 'scripts/remove')
-rw-r--r--scripts/remove143
1 files changed, 77 insertions, 66 deletions
diff --git a/scripts/remove b/scripts/remove
index 1b2c405..0c39054 100644
--- a/scripts/remove
+++ b/scripts/remove
@@ -1,103 +1,114 @@
#!/bin/bash
-# Exit on command errors and treat unset variables as an error
-set -u
+#=================================================
+# GENERIC START
+#=================================================
+# IMPORT GENERIC HELPERS
+#=================================================
-if [ ! -e .fonctions ]; then
- # Get file fonction if not been to the current directory
- sudo cp ../settings/scripts/.fonctions ./.fonctions
- sudo chmod a+rx .fonctions
-fi
-
-source .fonctions # Loads the generic functions usually used in the script
+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
-ynh_psql_drop_db "${app}_production"
-ynh_psql_drop_role "${app}"
+ynh_psql_remove_db "$db_name" "$db_user"
+
+#=================================================
+# REMOVE APP MAIN DIR
+#=================================================
-# 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 the app directory securely
+ynh_secure_remove "$final_path"
-# Delete app directory and configurations
-ynh_secure_remove /opt/$app
-[[ -n $domain ]] && sudo rm -f "/etc/nginx/conf.d/${domain}.d/${app}.conf"
+#=================================================
+# REMOVE NGINX CONFIGURATION
+#=================================================
-# Delete nginx configuration
-REMOVE_NGINX_CONF
+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