From c5328dbd8d93c2e11154b8c8194b6a6d58f36d48 Mon Sep 17 00:00:00 2001 From: frju365 Date: Thu, 17 Aug 2017 15:17:45 +0200 Subject: [PATCH] Create restore --- scripts/restore | 91 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 91 insertions(+) create mode 100644 scripts/restore diff --git a/scripts/restore b/scripts/restore new file mode 100644 index 0000000..26451b8 --- /dev/null +++ b/scripts/restore @@ -0,0 +1,91 @@ +#!/bin/bash + +# Exit on command errors and treat unset variables as an error +set -eu + +#================================================= +# IMPORT GENERIC HELPERS +#================================================= + +if [ ! -e _common.sh ]; then + # Fetch helpers file if not in current directory + sudo cp ../settings/scripts/_common.sh ./_common.sh + sudo chmod a+rx _common.sh +fi +source _common.sh +source /usr/share/yunohost/helpers + +#================================================= +# LOAD SETTINGS +#================================================= + +app=$YNH_APP_INSTANCE_NAME + +domain=$(ynh_app_setting_get $app domain) +path_url=$(ynh_app_setting_get $app path) +is_public=$(ynh_app_setting_get $app is_public) +final_path=$(ynh_app_setting_get $app final_path) + +#================================================= +# CHECK IF THE APP CAN BE RESTORED +#================================================= + +yunohost app checkurl "${domain}${path_url}" -a "$app" \ + || ynh_die "Path not available: ${domain}${path_url}" +test ! -d $final_path \ +|| ynh_die "There is already a directory: $final_path " + +CHECK_FINALPATH # Check if destination directory is not already in use + +#================================================= +# STANDARD RESTORE STEPS +#================================================= +# RESTORE NGINX CONFIGURATION +#================================================= + +sudo cp -a ./nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf + +#================================================= +# RESTORE LOGROTATE CONFIGURATION +#================================================= + +sudo cp -a ./logrotate /etc/logrotate.d/$app + +#================================================= +# RESTORE APP MAIN DIR +#================================================= + +sudo cp -a ./sources/. $final_path + +#================================================= +# RECREATE OF THE DEDICATED USER +#================================================= + +ynh_system_user_create $app # Recreate the dedicated user, if not existing + +#================================================= +# RESTORE USER RIGHTS +#================================================= + +sudo chown -R $app: $final_path + +#================================================= +# INSTALL NODEJS +#================================================= +ynh_install_nodejs $NODEJS_VERSION + +#================================================= +# RESTORE SYSTEMD CONFIGURATION +#================================================= +sudo cp -a ./systemd.service "/etc/systemd/system/$app.service" +sudo systemctl enable $app +sudo systemctl daemon-reload +sudo systemctl start $app + +#================================================= +# GENERIC FINALIZATION +#================================================= +# RELOAD NGINX +#================================================= + +sudo systemctl reload nginx