#!/bin/bash #================================================= # GENERIC START #================================================= # IMPORT GENERIC HELPERS #================================================= source ../settings/scripts/_future.sh 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_url) 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 4.8.4 # Install mongodb apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv EA312927 echo "deb http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.2 multiverse" > /etc/apt/sources.list.d/mongodb-org-3.2.list ynh_install_app_dependencies "mongodb-org mongodb-org-server mongodb-org-shell mongodb-org-mongos mongodb-org-tools" #================================================= # RESTORE DB #================================================= # Start mogodb systemctl enable mongod systemctl start mongod mongorestore --db $app ./dump #================================================= # 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 mongod --log "/var/log/mongodb.log" yunohost service add wekan #================================================= # 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 restart $app systemctl reload nginx