1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/ihatemoney_ynh.git synced 2024-09-03 19:26:15 +02:00
ihatemoney_ynh/scripts/restore
Jocelyn Delalande 321d6cb2d9 Use ynh helpers for error handling
Instead of doing it by hand.

Also we now rely on the fact ynh automatically runs uninstall script if the
install fails. So no more need for manual cleanup.
2018-12-18 18:28:00 +01:00

70 lines
1.9 KiB
Bash

#!/bin/bash
# Source app helpers
source /usr/share/yunohost/helpers
# Get multi-instances specific variables
app=$YNH_APP_INSTANCE_NAME
# Set app specific variables
dbname=$app
dbuser=$app
# Retrieve old app settings
domain=$(ynh_app_setting_get "$app" domain)
path=$(ynh_app_setting_get "$app" path)
dbpass=$(ynh_app_setting_get "$app" mysqlpwd)
# Source local utils
if [ ! -e _common.sh ]; then
# Fetch the local helpers files, because unavail to restore script
sudo cp ../settings/scripts/_common.sh ./_common.sh
sudo chmod a+rx _common.sh
fi
source _common.sh
ynh_abort_if_errors
ynh_webpath_register $app $domain $path
test -d $INSTALL_DIR && ynh_die \
"The destination directory '$INSTALL_DIR' already exists.\
You should safely delete it before restoring this app."
test -f $nginx_conf_path && ynh_die \
"The NGINX configuration already exists at '${nginx_conf_path}'.
You should safely delete it before restoring this app."
test -f $supervisor_conf_path && ynh_die \
"The Supervisor configuration already exists at '${supervisor_conf_path}'.
You should safely delete it before restoring this app."
test -f $gunicorn_conf_path && ynh_die \
"The Gunicorn configuration already exists at '${gunicorn_conf_path}'.
You should safely delete it before restoring this app."
install_apt_dependencies
create_unix_user
# Restore the app files
sudo cp -a ./install_dir/. "$INSTALL_DIR"
# Create and restore the database
ynh_mysql_create_db "$dbname" "$dbuser" "$dbpass"
ynh_mysql_connect_as "$dbuser" "$dbpass" "$dbname" < ./db.sql
create_system_dirs
# Restore settings
sudo cp -a "conf/nginx.conf" "$nginx_conf_path"
sudo cp -a "conf/gunicorn.conf.py" "$gunicorn_conf_path"
sudo cp -a "conf/supervisor.conf" "$supervisor_conf_path"
sudo cp -a "conf/ihatemoney.cfg" "$ihatemoney_conf_path"
# Reload
sudo systemctl reload nginx
sudo systemctl restart supervisor
sudo supervisorctl restart budget