aboutsummaryrefslogtreecommitdiff
path: root/scripts/remove
blob: 73a9bf7de3e4da5d3d58442b41add416a24f1d34 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
#!/bin/bash

#=================================================
# GENERIC START
#=================================================
# IMPORT GENERIC HELPERS
#=================================================

source _common.sh
source /usr/share/yunohost/helpers
source ynh_install_ruby
source ynh_add_secure_repos__2

#=================================================
# LOAD SETTINGS
#=================================================
ynh_print_info "Loading installation 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
#=================================================
# REMOVE SERVICE FROM ADMIN PANEL
#=================================================

# Remove a service from the admin panel, added by `yunohost service add`
if yunohost service status "$app-web" >/dev/null 2>&1
then
	ynh_print_info "Removing $app-web service"
	yunohost service remove "$app-web"
fi

if yunohost service status "$app-sidekiq" >/dev/null 2>&1
then
	ynh_print_info "Removing $app-sidekiq service"
	yunohost service remove "$app-sidekiq"
fi

if yunohost service status "$app-streaming" >/dev/null 2>&1
then
	ynh_print_info "Removing $app-streaming service"
	yunohost service remove "$app-streaming"
fi

#=================================================
# STOP AND REMOVE SERVICE
#=================================================
ynh_print_info "Stopping and removing the systemd service"

# Remove the dedicated systemd config
ynh_remove_systemd_config "$app-web"
ynh_remove_systemd_config "$app-sidekiq"
ynh_remove_systemd_config "$app-streaming"

#=================================================
# REMOVE THE POSTGRESQL DATABASE
#=================================================
ynh_print_info "Removing the PostgreSQL database"

ynh_psql_execute_as_root "\connect $db_name 
SELECT pg_terminate_backend (pg_stat_activity.pid) FROM pg_stat_activity WHERE pg_stat_activity.datname = '$db_name';"

# delete postgresql database & user
ynh_psql_remove_db "$db_name" "$app"

#=================================================
# REMOVE DEPENDENCIES
#=================================================
ynh_print_info "Removing dependencies"

# Remove metapackage and its dependencies
ynh_remove_ruby
ynh_remove_app_dependencies
ynh_remove_nodejs

ynh_remove_extra_repo jessie-backports
ynh_remove_extra_repo yarn

#=================================================
# REMOVE APP MAIN DIR
#=================================================
ynh_print_info "Removing app main directory"

# Remove the app directory securely
ynh_secure_remove "$final_path"

#=================================================
# REMOVE NGINX CONFIGURATION
#=================================================
ynh_print_info "Removing nginx web server configuration"

# Remove the dedicated nginx config
ynh_remove_nginx_config

#=================================================
# SPECIFIC REMOVE
#=================================================
# REMOVE LDAP USER
#=================================================

# Remove $app LDAP User
yunohost user delete $app --purge

#=================================================
# REMOVE THE CRON FILE
#=================================================

# Remove a cron file
ynh_secure_remove "/etc/cron.d/$app"

#=================================================
# GENERIC FINALIZATION
#=================================================
# REMOVE DEDICATED USER
#=================================================
ynh_print_info "Removing the dedicated system user"

# Delete a system user
ynh_system_user_delete $app

#=================================================
# END OF SCRIPT
#=================================================

ynh_print_info "Removal of $app completed"