mirror of
https://github.com/YunoHost-Apps/flohmarkt_ynh.git
synced 2024-09-03 18:36:30 +02:00
b6d9fac30f
Quiet a ride, but on my test system it installs and removes. Upgrade will not work, yet. Renaming is missing. Multiple installs should work.
90 lines
3.9 KiB
Bash
Executable file
90 lines
3.9 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
source ../settings/scripts/_common.sh
|
|
source /usr/share/yunohost/helpers
|
|
|
|
# restore couchdb directory
|
|
ynh_script_progression --message="Restoring couchdb directory..." --weight=1
|
|
ynh_restore_file --origin_path="/var/lib/couchdb"
|
|
|
|
# reinstall couchdb
|
|
ynh_script_progression --message="Reinstalling couchdb..." --weight=40
|
|
|
|
echo "\
|
|
couchdb couchdb/mode select standalone
|
|
couchdb couchdb/mode seen true
|
|
couchdb couchdb/bindaddress string 127.0.0.1
|
|
couchdb couchdb/bindaddress seen true
|
|
couchdb couchdb/cookie string $couchdb_magic_cookie
|
|
couchdb couchdb/adminpass password $password_couchdb_admin
|
|
couchdb couchdb/adminpass seen true
|
|
couchdb couchdb/adminpass_again password $password_couchdb_admin
|
|
couchdb couchdb/adminpass_again seen true" | debconf-set-selections
|
|
DEBIAN_FRONTEND=noninteractive # apt-get install -y --force-yes couchdb
|
|
|
|
ynh_install_extra_app_dependencies \
|
|
--repo="deb https://apache.jfrog.io/artifactory/couchdb-deb/ $(lsb_release -c -s) main" \
|
|
--key="https://couchdb.apache.org/repo/keys.asc" \
|
|
--package="couchdb"
|
|
|
|
# stop couchdb
|
|
systemctl stop couchdb
|
|
|
|
# add couchdb configuration
|
|
ynh_script_progression --message="Adding a configuration file..." --weight=2
|
|
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
|
|
|
|
# start couchdb
|
|
systemctl start couchdb
|
|
systemctl status couchdb
|
|
|
|
# RESTORE THE APP MAIN DIR
|
|
ynh_script_progression --message="Restoring the app main directory..." --weight=10
|
|
ynh_restore_file --origin_path="$install_dir"
|
|
|
|
# RESTORE THE DATA DIRECTORY
|
|
ynh_script_progression --message="Restoring the data directory..." --weight=1
|
|
ynh_restore_file --origin_path="$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/$flohmarkt_logfile.conf"
|
|
ynh_restore_file --origin_path="/etc/fail2ban/filter.d/$flohmarkt_logfile.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
|
|
yunohost service add $app --description="A decentral federated small advertisement platform" --log="$flohmarkt_logfile"
|
|
ynh_systemd_action --action=start --line_match="INFO: Application startup complete."
|
|
|
|
# RELOAD NGINX
|
|
ynh_script_progression --message="Reloading NGINX web server..." --weight=1
|
|
ynh_systemd_action --service_name=nginx --action=reload
|
|
|
|
ynh_script_progression --message="Restoration completed for $app" --last
|