diff --git a/scripts/install b/scripts/install index abde65e..13442ac 100755 --- a/scripts/install +++ b/scripts/install @@ -36,31 +36,44 @@ ynh_script_progression --message="Setting up source files..." --weight=64 # sudo -u $app python3 -m pipenv run jupyterhub upgrade-db 2>&1 # popd - -mkdir -p "$install_dir" -# Set permissions to app files -chmod -R o-rwx "$install_dir" -chown -R $app:www-data "$install_dir" - pushd $install_dir mkdir -p .venv PIPENV_VENV_IN_PROJECT="enabled" PIPENV_SKIP_LOCK=true ynh_exec_warn_less python3 -m pipenv install fittrackee==$fittrackee_version python-dotenv popd #================================================= -# CONFIGURE log file +# System Configuration #================================================= -ynh_script_progression --message="Configure log file" --weight=1 +ynh_script_progression --message="Adding system configurations related to $app ..." --weight=1 -mkdir /var/log/$app/ -touch /var/log/$app/$app.log -chown -R $app:www-data /var/log/$app/ +#================================================= +# NGINX CONFIGURATION +ynh_script_progression --message="Configuring NGINX web server..." --weight=1 + +# Create a dedicated NGINX config +ynh_add_nginx_config + +#================================================= +# SETUP SYSTEMD +ynh_script_progression --message="Configuring a systemd service..." --weight=1 + +# Create a dedicated systemd config +ynh_add_systemd_config --service="${app}" --template="fittrackee.service" +ynh_add_systemd_config --service="${app}_workers" --template="fittrackee_workers.service" + +#================================================= +# INTEGRATE SERVICE IN YUNOHOST +ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 + +yunohost service add "${app}" --description="Fittrackee main service" --log="/var/log/$app/$app.log" +yunohost service add "${app}_workers" --description="Fittrackee task queue service" --log="var/log/$app/$app.log" + +#================================================= +# LOGROTATE +ynh_script_progression --message="Configuring logrotate to manage application logfiles" --weight=1 # Use logrotate to manage application logfile(s) -ynh_use_logrotate --logfile="/var/log/$app/$app.log" - - - +ynh_use_logrotate @@ -69,6 +82,7 @@ ynh_use_logrotate --logfile="/var/log/$app/$app.log" #================================================= ynh_script_progression --message="Installing service script..." --weight=1 +# key for the .env __KEY__ key=$(ynh_string_random --length=45 | base64) ynh_app_setting_set --app=$app --key=key --value=$key @@ -83,46 +97,20 @@ set -a; source "$install_dir/.env"; set +a #================================================= # INITIALIZE DATABASE #================================================= -ynh_script_progression --message="Initializing database..." --weight=1 +ynh_script_progression --message="Initializing Fittrackee database..." --weight=1 ynh_exec_warn_less $install_dir/.venv/bin/ftcli db upgrade -# ynh_exec_warn_less $install_dir/.venv/bin/fittrackee - -#================================================= -# NGINX CONFIGURATION -#================================================= -ynh_script_progression --message="Configuring NGINX web server..." --weight=1 - -# Create a dedicated NGINX config -ynh_add_nginx_config - - -#================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Configuring a systemd service..." --weight=1 - -# Create a dedicated systemd config -ynh_add_systemd_config --service="${app}" --template="fittrackee.service" -ynh_add_systemd_config --service="${app}_workers" --template="fittrackee_workers.service" - #================================================= # GENERIC FINALIZATION #================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= -ynh_script_progression --message="Integrating service in YunoHost..." --weight=1 - -yunohost service add "${app}" --log="/var/log/$app/$app.log" -yunohost service add "${app}_workers" #================================================= # START SYSTEMD SERVICE #================================================= -ynh_script_progression --message="Starting systemd services..." --weight=15 +ynh_script_progression --message="Starting the systemd services..." --weight=15 # Start a systemd service ynh_systemd_action --service_name="${app}" --action="start" --log_path="/var/log/$app/$app.log" --line_match="Booting worker with pid"