From 4dfe2759421883575d4a63d2879d58b93bc56f6a Mon Sep 17 00:00:00 2001 From: magikcypress Date: Mon, 10 Apr 2017 04:55:10 +0200 Subject: [fix] install + add file remove/restore/upgrade --- scripts/restore | 83 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 83 insertions(+) create mode 100644 scripts/restore (limited to 'scripts/restore') diff --git a/scripts/restore b/scripts/restore new file mode 100644 index 0000000..f1c80ee --- /dev/null +++ b/scripts/restore @@ -0,0 +1,83 @@ +#!/bin/bash +# This restore script is adapted to Yunohost >=2.4 + +# Exit on command errors and treat unset variables as an error +set -eu + +# The parameter $app is the id of the app instance ex: ynhexample__2 +app=$YNH_APP_INSTANCE_NAME + +# Source app helpers +source /usr/share/yunohost/helpers + +# Get old parameter of the app +domain=$(ynh_app_setting_get $app domain) +path=$(ynh_app_setting_get $app path) +is_public=$(ynh_app_setting_get $app is_public) + +# Check domain/path availability +sudo yunohost app checkurl "${domain}${path}" -a "$app" \ + || ynh_die "Path not available: ${domain}${path}" + +# Check $final_path +final_path="/opt/${app}" +if [ -d $final_path ]; then + ynh_die "There is already a directory: $final_path" +fi + +# Check configuration files nginx +nginx_conf="/etc/nginx/conf.d/${domain}.d/${app}.conf" +if [ -f $nginx_conf ]; then + ynh_die "The NGINX configuration already exists at '${nginx_conf}'. + You should safely delete it before restoring this app." + +# Check configuration files php-fpm +crontab_conf="/etc/cron.d/${app}" +if [ -f $crontab_conf ]; then + ynh_die "The CRONTAB configuration already exists at '${crontab_conf}'. + You should safely delete it before restoring this app." +fi + +# Restore services +web_systemd="/etc/systemd/system/${app}-web.service" +if [ -f "${web_systemd}" ]; then + ynh_die "The MASTODON WEB configuration already exists at '${web_systemd}'. + You should safely delete it before restoring this app." +fi +sidekiq_systemd="/etc/systemd/system/${app}-sidekiq.service" +if [ -f "${sidekiq_systemd}" ]; then + ynh_die "The MASTODON SIDEKIQ configuration already exists at '${sidekiq_systemd}'. + You should safely delete it before restoring this app." +fi +streaming_systemd="/etc/systemd/system/${app}-streaming.service" +if [ -f "${streaming_systemd}" ]; then + ynh_die "The MASTODON STREAMING configuration already exists at '${streaming_systemd}'. + You should safely delete it before restoring this app." +fi + + # Restore sources & data +sudo cp -a ./sources "$final_path" + +# Set permissions +sudo chown -R $app: "$final_path" + +# Restore db +ynh_psql_create_db_without_password "$app" +sudo su - postgres <