mirror of
https://github.com/YunoHost-Apps/mastodon_ynh.git
synced 2024-09-03 19:46:02 +02:00
Standardization of removal
This commit is contained in:
parent
00a9710a4e
commit
c3f2f5c64f
1 changed files with 87 additions and 77 deletions
164
scripts/remove
164
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)
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# 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
|
||||
|
||||
# Delete service on Yunohost monitoring
|
||||
if sudo yunohost service status | grep -q mastodon-web
|
||||
then
|
||||
echo "Remove mastodon-web service"
|
||||
sudo yunohost service remove mastodon-web
|
||||
fi
|
||||
|
||||
# Delete service on Yunohost monitoring
|
||||
if sudo yunohost service status | grep -q mastodon-sidekiq
|
||||
then
|
||||
echo "Remove mastodon-sidekiq service"
|
||||
sudo yunohost service remove mastodon-sidekiq
|
||||
fi
|
||||
|
||||
# Delete service on Yunohost monitoring
|
||||
if sudo yunohost service status | grep -q mastodon-streaming
|
||||
then
|
||||
echo "Remove mastodon-streaming service"
|
||||
sudo yunohost service remove mastodon-streaming
|
||||
fi
|
||||
|
||||
# delete postgresql database & user
|
||||
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)
|
||||
|
||||
#=================================================
|
||||
# STANDARD REMOVE
|
||||
#=================================================
|
||||
# STOP AND REMOVE SERVICE
|
||||
#=================================================
|
||||
|
||||
ynh_remove_systemd_config "$app-web"
|
||||
ynh_remove_systemd_config "$app-sidekiq"
|
||||
ynh_remove_systemd_config "$app-streaming"
|
||||
|
||||
#=================================================
|
||||
# REMOVE SERVICE FROM ADMIN PANEL
|
||||
#==============================================
|
||||
|
||||
if yunohost service status | grep -q "$app-web"
|
||||
then
|
||||
echo "Remove $app-web service"
|
||||
yunohost service remove "$app-web"
|
||||
fi
|
||||
|
||||
if yunohost service status | grep -q "$app-sidekiq"
|
||||
then
|
||||
echo "Remove $app-sidekiq service"
|
||||
yunohost service remove "$app-sidekiq"
|
||||
fi
|
||||
|
||||
if yunohost service status | grep -q "$app-streaming"
|
||||
then
|
||||
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_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
|
||||
#=================================================
|
||||
# GENERIC FINALIZATION
|
||||
#=================================================
|
||||
# REMOVE DEDICATED USER
|
||||
#=================================================
|
||||
|
||||
# Reload services
|
||||
sudo systemctl reload nginx
|
||||
|
||||
echo -e "\e[0m" # Restore normal color
|
||||
userdel -f $app
|
||||
|
|
Loading…
Reference in a new issue