#!/bin/bash #================================================= # GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= source ../settings/scripts/_future.sh source ../settings/scripts/ynh_systemd_action source /usr/share/yunohost/helpers #================================================= # MANAGE SCRIPT FAILURE #================================================= # Exit if an error occurs during the execution of the script ynh_abort_if_errors #================================================= # 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) port=$(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 " #================================================= # STANDARD RESTORE STEPS #================================================= ynh_restore #================================================= # CREATE DEDICATED USER #================================================= # Create a system user ynh_system_user_create $app "$final_path" #================================================= # INSTALL DEPENDENCIES #================================================= ynh_install_nodejs 8.9.3 # Install mongodb ynh_install_app_dependencies "mongodb mongodb-server" #================================================= # RESTORE DB #================================================= # Start mogodb systemctl enable mongodb systemctl start mongodb mongorestore --db $app ./dump/$app #================================================= # SPECIFIC SETUP #================================================= # Install wekan dependencies chown -R $app $final_path pushd $final_path/bundle/programs/server ynh_use_nodejs npm install popd #================================================= # GENERIC FINALIZATION #================================================= # SECURE FILES AND DIRECTORIES #================================================= # Set strong right permissions to app files chown -R $app: "$final_path" chmod -R 640 "$final_path" find "$final_path" -type d -print0 | xargs -0 chmod 750 #================================================= # ADD SERVICE IN ADMIN PANEL #================================================= yunohost service add mongodb --log "/var/log/mongodb/mongodb.log" yunohost service add $app #================================================= # SETUP SSOWAT #================================================= # Make app public if necessary or protect it if [ $is_public -eq 1 ] then # unprotected_uris allows SSO credentials to be passed anyway. ynh_app_setting_set "$app" unprotected_uris "/" fi #================================================= # RELOAD NGINX #================================================= systemctl reload nginx #================================================= # START SERVICE #================================================= ynh_systemd_action --action=start --service_name=$app --log_path="systemd"