#!/bin/bash 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 /usr/share/yunohost/helpers source _common.sh #================================================= # GENERIC START #================================================= # MANAGE SCRIPT FAILURE #================================================= # Exit on command errors and treat access to unset variables as an error ynh_abort_if_errors #================================================= # LOAD SETTINGS #================================================= app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get $app domain) path=$(ynh_app_setting_get $app path) final_path=$(ynh_app_setting_get $app final_path) serviceuser=$(ynh_app_setting_get $app serviceuser) port=$(ynh_app_setting_get $app port) # Check domain/path availability ynh_webpath_available $domain $path if [[ ! $? -eq 0 ]]; then ynh_die "domain not available" fi # Check destination directory [[ -d $final_path ]] && ynh_die \ "The destination directory '$final_path' already exists.\ You should safely delete it before restoring this app." # Create destination sudo mkdir -p $final_path # Create user id -u $serviceuser || sudo useradd -d "$final_path" -M $serviceuser #================================================= # STANDARD RESTORATION STEPS #================================================= # RESTORE THE NGINX CONFIGURATION #================================================= sudo cp -a "conf/nginx" "/etc/nginx/conf.d/$domain.d/$app.conf" sudo systemctl reload nginx #================================================= # RESTORE THE SYSTEMD CONFIGURATION #================================================= sudo cp -a "conf/service" "/etc/systemd/system/rocketchat.service" sudo systemctl daemon-reload sudo systemctl enable rocketchat #================================================= # RESTORE THE APP MAIN DIR #================================================= sudo tar -xzf ./rocket.chat.gtar -C $final_path sudo chown -R $serviceuser: $final_path #================================================= # INSTALL DEPENDENCIES #================================================= installdeps #================================================= # RESTORE THE MONGODB #================================================= sudo mongorestore ./dump #================================================= # START APP RELATED SERVICES #================================================= sudo systemctl start rocketchat waitforservice