mirror of
https://github.com/YunoHost-Apps/flohmarkt_ynh.git
synced 2024-09-03 18:36:30 +02:00
dbb9891351
that sends an email to the admin of flohmarkt or the admin group of yunohost when the user database changes
91 lines
3.8 KiB
Bash
Executable file
91 lines
3.8 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
source ../settings/scripts/_common.sh
|
|
source /usr/share/yunohost/helpers
|
|
|
|
# reinstall couchdb
|
|
ynh_script_progression --message="Reinstalling couchdb..." --weight=40
|
|
flohmarkt_ynh_up_inst_couchdb
|
|
|
|
# add couchdb configuration
|
|
if ! [[ -e /opt/couchdb/etc/local.d/05-flohmarkt.ini ]]; then
|
|
ynh_script_progression --message="Adding a configuration file..." --weight=2
|
|
|
|
flohmarkt_ynh_stop_couchdb
|
|
|
|
ynh_restore_file --origin_path="/opt/couchdb/etc/local.d/05-flohmarkt.ini"
|
|
chown root:couchdb /opt/couchdb/etc/local.d/05-flohmarkt.ini
|
|
chmod 640 /opt/couchdb/etc/local.d/05-flohmarkt.ini
|
|
|
|
ynh_script_progression --message="Starting couchdb..." --weight=4
|
|
flohmarkt_ynh_start_couchdb
|
|
else
|
|
ynh_script_progression --message="CouchDB configuration file already exists." --weight=1
|
|
fi
|
|
|
|
# if exists rename existing couchdb
|
|
ynh_script_progression --message="Check if old database exists..." --weight=1
|
|
if flohmarkt_ynh_exists_couchdb_db; then
|
|
flohmarkt_ynh_backup_old_couchdb
|
|
fi
|
|
|
|
# restore couchdb from json
|
|
ynh_script_progression --message="Importing couchdb from json backup..." --weight=8
|
|
flohmarkt_ynh_restore_couchdb
|
|
|
|
# RESTORE THE APP MAIN DIR
|
|
ynh_script_progression --message="Restoring the app main directory..." --weight=10
|
|
ynh_restore_file --origin_path="$flohmarkt_install"
|
|
|
|
# RESTORE THE DATA DIRECTORY
|
|
ynh_script_progression --message="Restoring the data directory..." --weight=1
|
|
ynh_restore_file --origin_path="$flohmarkt_data_dir" --not_mandatory
|
|
mkdir -p $data_dir
|
|
|
|
# restore logfiles
|
|
# independent of the question whether one wants the logfiles in a backup (as you can
|
|
# see I decided I wanted them for the time being) it is important to create the log
|
|
# directory and file so that the systemd.service can redirect STDOUT to the file.
|
|
# If the logfile(or maybe just -directory?) is missing the service will not start
|
|
# on a fresh install, because directory and/or file do not exist.
|
|
ynh_script_progression --message="Restoring log directory and logfiles..." --weight=1
|
|
ynh_restore_file --origin_path="$flohmarkt_log_dir" --not_mandatory
|
|
mkdir -p -m755 "$flohmarkt_log_dir"
|
|
touch "$flohmarkt_logfile"
|
|
# logfile contains possibly the secret setup URL
|
|
chmod 640 "$flohmarkt_logfile"
|
|
|
|
# RESTORE FAIL2BAN CONFIGURATION
|
|
ynh_script_progression --message="Restoring the Fail2Ban configuration..." --weight=2
|
|
ynh_restore_file --origin_path="/etc/fail2ban/jail.d/$app.conf"
|
|
ynh_restore_file --origin_path="/etc/fail2ban/filter.d/$app.conf"
|
|
ynh_systemd_action --action=restart --service_name=fail2ban
|
|
|
|
# RESTORE THE NGINX CONFIGURATION
|
|
ynh_script_progression --message="Restoring the NGINX web server configuration..." --weight=1
|
|
ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf"
|
|
|
|
# RESTORE THE LOGROTATE CONFIGURATION
|
|
ynh_script_progression --message="Restoring the logrotate configuration..." --weight=1
|
|
ynh_restore_file --origin_path="/etc/logrotate.d/$app"
|
|
|
|
# restore flohmarkt systemd service and integrate service into yunohost
|
|
ynh_script_progression --message="Restoring flohmarkt.service and integrating service into YunoHost..." --weight=1
|
|
ynh_restore_file --origin_path="/etc/systemd/system/$flohmarkt_filename.service"
|
|
ynh_systemd_action --action=enable --service_name=$flohmarkt_filename
|
|
yunohost service add $flohmarkt_filename --description="A decentral federated small advertisement platform" --log="$flohmarkt_logfile"
|
|
flohmarkt_ynh_start_service
|
|
|
|
# RELOAD NGINX
|
|
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
|
|
ynh_systemd_action --service_name=nginx --action=reload
|
|
|
|
# create symlinks
|
|
ynh_script_progression --message="Creating symlinks..." --weight=1
|
|
flohmarkt_ynh_create_symlinks
|
|
|
|
# restore cronjob file for urlwatch
|
|
ynh_script_progression --message="Restoring cronjob for urlwatch..." --weight=1
|
|
ynh_restore_file --origin_path="/etc/cron.hourly/$flohmarkt_filename"
|
|
|
|
ynh_script_progression --message="Restoration completed for $app" --last
|