From 340e5a98faf68286e7b841f13463406a50d706ee Mon Sep 17 00:00:00 2001 From: Krakinou Date: Sat, 20 Feb 2021 19:31:31 +0100 Subject: [PATCH] commit before ssh --- README.md | 12 +- check_process.default => check_process | 29 ++- conf/bundle.src | 5 +- conf/nginx.conf | 9 +- conf/retroarch.src | 4 +- manifest.json | 24 +-- scripts/_common.sh | 249 ----------------------- scripts/backup | 56 +---- scripts/change_url | 29 +-- scripts/install | 271 +++---------------------- scripts/remove | 83 ++------ scripts/restore | 83 +++----- scripts/upgrade | 67 +----- 13 files changed, 117 insertions(+), 804 deletions(-) rename check_process.default => check_process (62%) diff --git a/README.md b/README.md index 6566d3c..ae6c5ef 100644 --- a/README.md +++ b/README.md @@ -10,20 +10,20 @@ - Add a `LICENSE` file for the package. - Edit `README.md` and README_fr.md. -# Example app for YunoHost +# RetroArch Web Player for YunoHost -[![Integration level](https://dash.yunohost.org/integration/REPLACEBYYOURAPP.svg)](https://dash.yunohost.org/appci/app/REPLACEBYYOURAPP) -[![Install REPLACEBYYOURAPP with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=REPLACEBYYOURAPP) +[![Integration level](https://dash.yunohost.org/integration/REPLACEBYYOURAPP.svg)](https://dash.yunohost.org/appci/app/retroarch) +[![Install RetroArch with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=retroarch) *[Lire ce readme en français.](./README_fr.md)* -> *This package allow you to install REPLACEBYYOURAPP quickly and simply on a YunoHost server. +> *This package allow you to install RetroArch quickly and simply on a YunoHost server. If you don't have YunoHost, please see [here](https://yunohost.org/#/install) to know how to install and enjoy it.* ## Overview Quick description of this app. -**Shipped version:** 1.0 +**Shipped version:** 1.8.6 ## Screenshots @@ -31,7 +31,7 @@ Quick description of this app. ## Demo -* [Official demo](Link to a demo site for this app) +* [Official demo](https://web.libretro.com/) ## Configuration diff --git a/check_process.default b/check_process similarity index 62% rename from check_process.default rename to check_process index 167832f..900985d 100644 --- a/check_process.default +++ b/check_process @@ -1,35 +1,30 @@ # See here for more information # https://github.com/YunoHost/package_check#syntax-check_process-file -# Move this file from check_process.default to check_process when you have filled it. - ;; Test complet ; Manifest domain="domain.tld" (DOMAIN) - path="/path" (PATH) - admin="john" (USER) - language="fr" +# path="/retroarch" (PATH) +# admin="john" (USER) is_public=1 (PUBLIC|public=1|private=0) - password="pass" - port="666" (PORT) ; Checks pkg_linter=1 - setup_sub_dir=1 + setup_sub_dir=0 #Not supported in upstream app setup_root=1 -# setup_nourl=0 -# setup_private=1 -# setup_public=1 -# upgrade=1 + setup_nourl=0 + setup_private=1 + setup_public=1 + upgrade=1 # upgrade=1 from_commit=CommitHash -# backup_restore=1 -# multi_instance=1 -# port_already_use=0 -# change_url=1 + backup_restore=1 + multi_instance=0 + port_already_use=0 #No port required + change_url=1 ;;; Levels # If the level 5 (Package linter) is forced to 1. Please add justifications here. Level 5=auto ;;; Options -Email= +Email=misterl56@hotmail.com Notification=none ;;; Upgrade options ; commit=CommitHash diff --git a/conf/bundle.src b/conf/bundle.src index 23ba57e..241119d 100644 --- a/conf/bundle.src +++ b/conf/bundle.src @@ -1,4 +1 @@ -SOURCE_URL=https://buildbot.libretro.com/assets/frontend/bundle.zip -SOURCE_SUM=64a8f75a07d13845cc987fded5ae22fae2af00ae140e3e22621f124c136fee14 -SOURCE_FORMAT=zip -SOURCE_IN_SUBDIR=true +SOURCE_URL=https://buildbot.libretro.com/assets/frontend/bundle.zip \ No newline at end of file diff --git a/conf/nginx.conf b/conf/nginx.conf index 17e7bee..5004c38 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -1,8 +1,8 @@ #sub_path_only rewrite ^__PATH__$ __PATH__/ permanent; -location __PATH__/ { +location / { # Path to source - alias __FINALPATH__/ ; + root __FINALPATH__/ ; # Force usage of https if ($scheme = http) { @@ -10,5 +10,6 @@ location __PATH__/ { } # Include SSOWAT user panel. -# include conf.d/yunohost_panel.conf.inc; -} + include conf.d/yunohost_panel.conf.inc; + +} \ No newline at end of file diff --git a/conf/retroarch.src b/conf/retroarch.src index 7a2ef58..19a039d 100644 --- a/conf/retroarch.src +++ b/conf/retroarch.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://buildbot.libretro.com/stable/1.8.6/emscripten/RetroArch.7z -SOURCE_SUM=ada385f5fadec9d3e068b038f33673fe3895fa9854453f0791f4df137f18cb06 +SOURCE_URL=https://buildbot.libretro.com/stable/1.8.7/emscripten/RetroArch.7z +SOURCE_SUM=7baa982226c649e0524555ab88b118c1f5fd6c9ca4403483b4fd1835e8ace5ad SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=7z SOURCE_EXTRACT=false diff --git a/manifest.json b/manifest.json index 7c1936b..4205e5f 100644 --- a/manifest.json +++ b/manifest.json @@ -14,7 +14,7 @@ "email": "misterl56@hotmail.com" }, "requirements": { - "yunohost": ">= 3.7.1" + "yunohost": ">= 3.8" }, "multi_instance": false, "services": [ @@ -26,20 +26,10 @@ "name": "domain", "type": "domain", "ask": { - "en": "Choose a domain name for RetroArch", - "fr": "Choisissez un nom de domaine pour RetroArch" + "en": "Choose a domain name for RetroArch (RetroArch requires its own domain)", + "fr": "Choisissez un nom de domaine pour RetroArch (RetroArch nécessite son propre domaine)" }, - "example": "example.com" - }, - { - "name": "path", - "type": "path", - "ask": { - "en": "Choose a path for RetroArch", - "fr": "Choisissez un chemin pour RetroArch" - }, - "example": "/example", - "default": "/retroarch" + "example": "retroarch.example.com" }, { "name": "is_public", @@ -48,7 +38,11 @@ "en": "Is it a public application?", "fr": "Est-ce une application publique ?" }, - "default": true + "default": true, + "help":{ + "en":"Yes will allow everyone to access the app without login to yunohost instance first", + "fr":"Oui autorisera n'importe qui à accéder à l'application sans s'identifier dans Yunohost" + } } ] } diff --git a/scripts/_common.sh b/scripts/_common.sh index 5a6949b..47bd95f 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -18,252 +18,3 @@ pkg_dependencies="p7zip" #================================================= # FUTURE OFFICIAL HELPERS #================================================= - -n_install_dir="/opt/node_n" -node_version_path="$n_install_dir/n/versions/node" -# N_PREFIX is the directory of n, it needs to be loaded as a environment variable. -export N_PREFIX="$n_install_dir" - -# Install Node version management -# -# [internal] -# -# usage: ynh_install_n -# -# Requires YunoHost version 2.7.12 or higher. -ynh_install_n () { - ynh_print_info --message="Installation of N - Node.js version management" - # Build an app.src for n - mkdir --parents "../conf" - echo "SOURCE_URL=https://github.com/tj/n/archive/v4.1.0.tar.gz -SOURCE_SUM=3983fa3f00d4bf85ba8e21f1a590f6e28938093abe0bb950aeea52b1717471fc" > "../conf/n.src" - # Download and extract n - ynh_setup_source --dest_dir="$n_install_dir/git" --source_id=n - # Install n - (cd "$n_install_dir/git" - PREFIX=$N_PREFIX make install 2>&1) -} - -# Load the version of node for an app, and set variables. -# -# ynh_use_nodejs has to be used in any app scripts before using node for the first time. -# This helper will provide alias and variables to use in your scripts. -# -# To use npm or node, use the alias `ynh_npm` and `ynh_node` -# Those alias will use the correct version installed for the app -# For example: use `ynh_npm install` instead of `npm install` -# -# With `sudo` or `ynh_exec_as`, use instead the fallback variables `$ynh_npm` and `$ynh_node` -# And propagate $PATH to sudo with $ynh_node_load_PATH -# Exemple: `ynh_exec_as $app $ynh_node_load_PATH $ynh_npm install` -# -# $PATH contains the path of the requested version of node. -# However, $PATH is duplicated into $node_PATH to outlast any manipulation of $PATH -# You can use the variable `$ynh_node_load_PATH` to quickly load your node version -# in $PATH for an usage into a separate script. -# Exemple: $ynh_node_load_PATH $final_path/script_that_use_npm.sh` -# -# -# Finally, to start a nodejs service with the correct version, 2 solutions -# Either the app is dependent of node or npm, but does not called it directly. -# In such situation, you need to load PATH -# `Environment="__NODE_ENV_PATH__"` -# `ExecStart=__FINALPATH__/my_app` -# You will replace __NODE_ENV_PATH__ with $ynh_node_load_PATH -# -# Or node start the app directly, then you don't need to load the PATH variable -# `ExecStart=__YNH_NODE__ my_app run` -# You will replace __YNH_NODE__ with $ynh_node -# -# -# 2 other variables are also available -# - $nodejs_path: The absolute path to node binaries for the chosen version. -# - $nodejs_version: Just the version number of node for this app. Stored as 'nodejs_version' in settings.yml. -# -# usage: ynh_use_nodejs -# -# Requires YunoHost version 2.7.12 or higher. -ynh_use_nodejs () { - nodejs_version=$(ynh_app_setting_get --app=$app --key=nodejs_version) - - # Get the absolute path of this version of node - nodejs_path="$node_version_path/$nodejs_version/bin" - - # Allow alias to be used into bash script - shopt -s expand_aliases - - # Create an alias for the specific version of node and a variable as fallback - ynh_node="$nodejs_path/node" - alias ynh_node="$ynh_node" - # And npm - ynh_npm="$nodejs_path/npm" - alias ynh_npm="$ynh_npm" - - # Load the path of this version of node in $PATH - if [[ :$PATH: != *":$nodejs_path"* ]]; then - PATH="$nodejs_path:$PATH" - fi - node_PATH="$PATH" - # Create an alias to easily load the PATH - ynh_node_load_PATH="PATH=$node_PATH" -} - -# Install a specific version of nodejs -# -# ynh_install_nodejs will install the version of node provided as argument by using n. -# -# usage: ynh_install_nodejs --nodejs_version=nodejs_version -# | arg: -n, --nodejs_version= - Version of node to install. When possible, your should prefer to use major version number (e.g. 8 instead of 8.10.0). The crontab will then handle the update of minor versions when needed. -# -# n (Node version management) uses the PATH variable to store the path of the version of node it is going to use. -# That's how it changes the version -# -# Refer to ynh_use_nodejs for more information about available commands and variables -# -# Requires YunoHost version 2.7.12 or higher. -ynh_install_nodejs () { - # Use n, https://github.com/tj/n to manage the nodejs versions - - # Declare an array to define the options of this helper. - local legacy_args=n - local -A args_array=( [n]=nodejs_version= ) - local nodejs_version - # Manage arguments with getopts - ynh_handle_getopts_args "$@" - - # Create $n_install_dir - mkdir --parents "$n_install_dir" - - # Load n path in PATH - CLEAR_PATH="$n_install_dir/bin:$PATH" - # Remove /usr/local/bin in PATH in case of node prior installation - PATH=$(echo $CLEAR_PATH | sed 's@/usr/local/bin:@@') - - # Move an existing node binary, to avoid to block n. - test -x /usr/bin/node && mv /usr/bin/node /usr/bin/node_n - test -x /usr/bin/npm && mv /usr/bin/npm /usr/bin/npm_n - - # If n is not previously setup, install it - if ! test $(n --version > /dev/null 2>&1) - then - ynh_install_n - fi - - # Modify the default N_PREFIX in n script - ynh_replace_string --match_string="^N_PREFIX=\${N_PREFIX-.*}$" --replace_string="N_PREFIX=\${N_PREFIX-$N_PREFIX}" --target_file="$n_install_dir/bin/n" - - # Restore /usr/local/bin in PATH - PATH=$CLEAR_PATH - - # And replace the old node binary. - test -x /usr/bin/node_n && mv /usr/bin/node_n /usr/bin/node - test -x /usr/bin/npm_n && mv /usr/bin/npm_n /usr/bin/npm - - # Install the requested version of nodejs - uname=$(uname --machine) - if [[ $uname =~ aarch64 || $uname =~ arm64 ]] - then - n $nodejs_version --arch=arm64 - else - n $nodejs_version - fi - - # Find the last "real" version for this major version of node. - real_nodejs_version=$(find $node_version_path/$nodejs_version* -maxdepth 0 | sort --version-sort | tail --lines=1) - real_nodejs_version=$(basename $real_nodejs_version) - - # Create a symbolic link for this major version if the file doesn't already exist - if [ ! -e "$node_version_path/$nodejs_version" ] - then - ln --symbolic --force --no-target-directory $node_version_path/$real_nodejs_version $node_version_path/$nodejs_version - fi - - # Store the ID of this app and the version of node requested for it - echo "$YNH_APP_INSTANCE_NAME:$nodejs_version" | tee --append "$n_install_dir/ynh_app_version" - - # Store nodejs_version into the config of this app - ynh_app_setting_set --app=$app --key=nodejs_version --value=$nodejs_version - - # Build the update script and set the cronjob - ynh_cron_upgrade_node - - ynh_use_nodejs -} - -# Remove the version of node used by the app. -# -# This helper will check if another app uses the same version of node, -# if not, this version of node will be removed. -# If no other app uses node, n will be also removed. -# -# usage: ynh_remove_nodejs -# -# Requires YunoHost version 2.7.12 or higher. -ynh_remove_nodejs () { - nodejs_version=$(ynh_app_setting_get --app=$app --key=nodejs_version) - - # Remove the line for this app - sed --in-place "/$YNH_APP_INSTANCE_NAME:$nodejs_version/d" "$n_install_dir/ynh_app_version" - - # If no other app uses this version of nodejs, remove it. - if ! grep --quiet "$nodejs_version" "$n_install_dir/ynh_app_version" - then - $n_install_dir/bin/n rm $nodejs_version - fi - - # If no other app uses n, remove n - if [ ! -s "$n_install_dir/ynh_app_version" ] - then - ynh_secure_remove --file="$n_install_dir" - ynh_secure_remove --file="/usr/local/n" - sed --in-place "/N_PREFIX/d" /root/.bashrc - rm --force /etc/cron.daily/node_update - fi -} - -# Set a cron design to update your node versions -# -# [internal] -# -# This cron will check and update all minor node versions used by your apps. -# -# usage: ynh_cron_upgrade_node -# -# Requires YunoHost version 2.7.12 or higher. -ynh_cron_upgrade_node () { - # Build the update script - cat > "$n_install_dir/node_update.sh" << EOF -#!/bin/bash -version_path="$node_version_path" -n_install_dir="$n_install_dir" -# Log the date -date -# List all real installed version of node -all_real_version="\$(find \$version_path/* -maxdepth 0 -type d | sed "s@\$version_path/@@g")" -# Keep only the major version number of each line -all_real_version=\$(echo "\$all_real_version" | sed 's/\..*\$//') -# Remove double entries -all_real_version=\$(echo "\$all_real_version" | sort --unique) -# Read each major version -while read version -do - echo "Update of the version \$version" - sudo \$n_install_dir/bin/n \$version - # Find the last "real" version for this major version of node. - real_nodejs_version=\$(find \$version_path/\$version* -maxdepth 0 | sort --version-sort | tail --lines=1) - real_nodejs_version=\$(basename \$real_nodejs_version) - # Update the symbolic link for this version - sudo ln --symbolic --force --no-target-directory \$version_path/\$real_nodejs_version \$version_path/\$version -done <<< "\$(echo "\$all_real_version")" -EOF - - chmod +x "$n_install_dir/node_update.sh" - - # Build the cronjob - cat > "/etc/cron.daily/node_update" << EOF -#!/bin/bash -$n_install_dir/node_update.sh >> $n_install_dir/node_update.log -EOF - - chmod +x "/etc/cron.daily/node_update" -} diff --git a/scripts/backup b/scripts/backup index d985aba..9b66aff 100755 --- a/scripts/backup +++ b/scripts/backup @@ -30,16 +30,7 @@ app=$YNH_APP_INSTANCE_NAME final_path=$(ynh_app_setting_get --app=$app --key=final_path) domain=$(ynh_app_setting_get --app=$app --key=domain) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#================================================= -# STANDARD BACKUP STEPS -#================================================= -# STOP SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 - -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" #================================================= # BACKUP THE APP MAIN DIR @@ -55,56 +46,11 @@ ynh_script_progression --message="Backing up nginx web server configuration..." ynh_backup --src_path="/etc/nginx/conf.d/$domain.d/$app.conf" -#================================================= -# BACKUP THE PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Backing up php-fpm configuration..." --time --weight=1 - -ynh_backup --src_path="/etc/php/7.0/fpm/pool.d/$app.conf" - -#================================================= -# BACKUP THE MYSQL DATABASE -#================================================= -ynh_script_progression --message="Backing up the MySQL database..." --time --weight=1 - -ynh_mysql_dump_db --database="$db_name" > db.sql - -#================================================= -# BACKUP FAIL2BAN CONFIGURATION -#================================================= -ynh_script_progression --message="Backing up fail2ban configuration..." --time --weight=1 - -ynh_backup --src_path="/etc/fail2ban/jail.d/$app.conf" -ynh_backup --src_path="/etc/fail2ban/filter.d/$app.conf" - -#================================================= -# SPECIFIC BACKUP -#================================================= -# BACKUP LOGROTATE -#================================================= -ynh_script_progression --message="Backing up logrotate configuration..." --time --weight=1 - -ynh_backup --src_path="/etc/logrotate.d/$app" - -#================================================= -# BACKUP SYSTEMD -#================================================= -ynh_script_progression --message="Backing up systemd configuration..." --time --weight=1 - -ynh_backup --src_path="/etc/systemd/system/$app.service" - #================================================= # BACKUP A CRON FILE #================================================= -ynh_backup --src_path="/etc/cron.d/$app" - -#================================================= -# START SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 - -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +#ynh_backup --src_path="/etc/cron.d/$app" #================================================= # END OF SCRIPT diff --git a/scripts/change_url b/scripts/change_url index 3f21bc8..400bdf2 100644 --- a/scripts/change_url +++ b/scripts/change_url @@ -6,8 +6,9 @@ # IMPORT GENERIC HELPERS #================================================= -source _common.sh source /usr/share/yunohost/helpers +source _common.sh + #================================================= # RETRIEVE ARGUMENTS @@ -29,10 +30,6 @@ ynh_script_progression --message="Loading installation settings..." --time --wei # Needed for helper "ynh_add_nginx_config" final_path=$(ynh_app_setting_get --app=$app --key=final_path) -# Add settings here as needed by your application -#db_name=$(ynh_app_setting_get --app=$app --key=db_name) -#db_user=$db_name -#db_pwd=$(ynh_app_setting_get --app=$app --key=db_pwd) #================================================= # BACKUP BEFORE UPGRADE THEN ACTIVE TRAP @@ -64,18 +61,10 @@ fi change_path=0 if [ "$old_path" != "$new_path" ] then - change_path=1 + ynh_print_warn "RetroArch works only on root path, path cannot be changed! + #change_path=1 fi -#================================================= -# STANDARD MODIFICATIONS -#================================================= -# STOP SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 - -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" - #================================================= # MODIFY URL IN NGINX CONF #================================================= @@ -96,6 +85,7 @@ then fi # Change the domain for nginx +#Keep it if, one day, we can change it... if [ $change_domain -eq 1 ] then # Delete file checksum for the old conf file location @@ -111,15 +101,6 @@ fi # ... #================================================= -#================================================= -# GENERIC FINALISATION -#================================================= -# START SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 - -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" - #================================================= # RELOAD NGINX #================================================= diff --git a/scripts/install b/scripts/install index c335d52..2d49c66 100755 --- a/scripts/install +++ b/scripts/install @@ -25,38 +25,18 @@ ynh_abort_if_errors #================================================= domain=$YNH_APP_ARG_DOMAIN -path_url=$YNH_APP_ARG_PATH +#path_url=$YNH_APP_ARG_PATH +path_url="/" #admin=$YNH_APP_ARG_ADMIN is_public=$YNH_APP_ARG_IS_PUBLIC #language=$YNH_APP_ARG_LANGUAGE - -### If it's a multi-instance app, meaning it can be installed several times independently -### The id of the app as stated in the manifest is available as $YNH_APP_ID -### The instance number is available as $YNH_APP_INSTANCE_NUMBER (equals "1", "2", ...) -### The app instance name is available as $YNH_APP_INSTANCE_NAME -### - the first time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample -### - the second time the app is installed, YNH_APP_INSTANCE_NAME = ynhexample__2 -### - ynhexample__{N} for the subsequent installations, with N=3,4, ... -### The app instance name is probably what interests you most, since this is -### guaranteed to be unique. This is a good unique identifier to define installation path, -### db names, ... app=$YNH_APP_INSTANCE_NAME #================================================= # CHECK IF THE APP CAN BE INSTALLED WITH THESE ARGS #================================================= -### About --weight and --time -### ynh_script_progression will show to your final users the progression of each scripts. -### In order to do that, --weight will represent the relative time of execution compared to the other steps in the script. -### --time is a packager option, it will show you the execution time since the previous call. -### This option should be removed before releasing your app. -### Use the execution time, given by --time, to estimate the weight of a step. -### A common way to do it is to set a weight equal to the execution time in second +1. -### The execution time is given for the duration since the previous call. So the weight should be applied to this previous call. ynh_script_progression --message="Validating installation parameters..." --time --weight=1 -### If the app uses nginx as web server (written in HTML/PHP in most cases), the final path should be "/var/www/$app". -### If the app provides an internal web server (or uses another application server such as uwsgi), the final path should be "/opt/yunohost/$app" final_path=/var/www/$app test ! -e "$final_path" || ynh_die --message="This path already contains a folder" @@ -70,194 +50,66 @@ ynh_script_progression --message="Storing installation settings..." --time --wei ynh_app_setting_set --app=$app --key=domain --value=$domain ynh_app_setting_set --app=$app --key=path --value=$path_url -#ynh_app_setting_set --app=$app --key=admin --value=$admin ynh_app_setting_set --app=$app --key=is_public --value=$is_public -#ynh_app_setting_set --app=$app --key=language --value=$language - -#================================================= -# STANDARD MODIFICATIONS -#================================================= -# FIND AND OPEN A PORT -#================================================= -ynh_script_progression --message="Configuring firewall..." --time --weight=1 - -### Use these lines if you have to open a port for the application -### `ynh_find_port` will find the first available port starting from the given port. -### If you're not using these lines: -### - Remove the section "CLOSE A PORT" in the remove script - -# Find an available port -#port=$(ynh_find_port --port=8095) -#ynh_app_setting_set --app=$app --key=port --value=$port - -# Optional: Expose this port publicly -# (N.B. : you only need to do this if the app actually needs to expose the port publicly. -# If you do this and the app doesn't actually need you are CREATING SECURITY HOLES IN THE SERVER !) - -# Open the port -# ynh_exec_warn_less yunohost firewall allow --no-upnp TCP $port #================================================= # INSTALL DEPENDENCIES #================================================= ynh_script_progression --message="Installing dependencies..." --time --weight=1 -### `ynh_install_app_dependencies` allows you to add any "apt" dependencies to the package. -### Those deb packages will be installed as dependencies of this package. -### If you're not using this helper: -### - Remove the section "REMOVE DEPENDENCIES" in the remove script -### - Remove the variable "pkg_dependencies" in _common.sh -### - As well as the section "REINSTALL DEPENDENCIES" in the restore script -### - And the section "UPGRADE DEPENDENCIES" in the upgrade script -ynh_install_nodejs --nodejs_version=14 +#waiting for new version of helpers to be deployed https://github.com/YunoHost/yunohost/blob/stretch-unstable/data/helpers.d/nodejs +ynh_install_nodejs --nodejs_version=10 ynh_use_nodejs ynh_npm install -g coffeescript +#npm install -g coffeescript + ynh_install_app_dependencies $pkg_dependencies - #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= ynh_script_progression --message="Setting up source files..." --time --weight=1 -### `ynh_setup_source` is used to install an app from a zip or tar.gz file, -### downloaded from an upstream source, like a git repository. -### `ynh_setup_source` use the file conf/app.src - ynh_app_setting_set --app=$app --key=final_path --value=$final_path # Download, check integrity, uncompress and patch the source from app.src +# uncompress and patch done manually as 7z format is not supported ynh_setup_source --dest_dir="$final_path" --source_id=$app 7zr e $final_path/retroarch.7z -o$final_path rm $final_path/retroarch.7z + +#create additionnal folders & file #https://github.com/libretro/RetroArch/tree/master/pkg/emscripten mkdir -p $final_path/assets/frontend/bundle mkdir -p $final_path/assets/cores +touch $final_path/analytics.js #https://github.com/libretro/RetroArch/issues/4539#issuecomment-473345195 +mv $final_path/canvas.png $final_path/media/ #do not ask me why this file is not naturally at the correct place + +#Get the indexer as exe so that folder w/ ROMs can be indexed chmod +x $final_path/indexer -ynh_setup_source --dest_dir="$final_path/assets/frontend/bundle" --source_id=bundle +###install bundle source. As it is change every day (only nightly exists) - ynh_setup_source is useless +#ynh_setup_source --dest_dir="$final_path/assets/frontend/bundle" --source_id=bundle +wget -q $(grep 'SOURCE_URL=' "../conf/bundle.src" | cut --delimiter='=' --fields=2-) -O $final_path/assets/frontend/bundle/bundle.zip +unzip -q $final_path/assets/frontend/bundle/bundle.zip -d $final_path/assets/frontend/bundle/ +rm $final_path/assets/frontend/bundle/bundle.zip #================================================= # NGINX CONFIGURATION #================================================= ynh_script_progression --message="Configuring nginx web server..." --time --weight=1 -#backup & Update nginx MIME type so wasm is recognized -ynh_print_info "/etc/nginx/mime.types saved as /etc/nginx/mime.types.retroarch" -cp /etc/nginx/mime.types /etc/nginx/mime.type.retroarch -ynh_replace_string --match_string=" application/octet-stream bin exe dll;" --replace_string=" application/wasm wasm;\n\n application/octet-stream bin exe dll;" --target_file="/etc/nginx/mime.types" +#backup & Update nginx MIME type so wasm mime type is recognized + +if [ !$(grep wasm /etc/nginx/mime.types) ]; then + ynh_print_info "/etc/nginx/mime.types saved as /etc/nginx/mime.types.$app" + cp /etc/nginx/mime.types /etc/nginx/mime.types.$app + ynh_replace_string --match_string=" application/octet-stream bin exe dll;" --replace_string=" application/wasm wasm;\n\n application/octet-stream bin exe dll;" --target_file="/etc/nginx/mime.types" + ynh_store_file_checksum --file="/etc/nginx/mime.types" +fi # Create a dedicated nginx config ynh_add_nginx_config -#================================================= -# CREATE DEDICATED USER -#================================================= -ynh_script_progression --message="Configuring system user..." --time --weight=1 - -# Create a system user -ynh_system_user_create --username=$app - -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -#ynh_script_progression --message="Configuring php-fpm..." --time --weight=1 - -### `ynh_add_fpm_config` is used to set up a PHP config. -### You can remove it if your app doesn't use PHP. -### `ynh_add_fpm_config` will use the files conf/php-fpm.conf -### If you're not using these lines: -### - You can remove these files in conf/. -### - Remove the section "BACKUP THE PHP-FPM CONFIGURATION" in the backup script -### - Remove also the section "REMOVE PHP-FPM CONFIGURATION" in the remove script -### - As well as the section "RESTORE THE PHP-FPM CONFIGURATION" in the restore script -### With the reload at the end of the script. -### - And the section "PHP-FPM CONFIGURATION" in the upgrade script - -# Create a dedicated php-fpm config -#ynh_add_fpm_config - -#================================================= -# SPECIFIC SETUP -#================================================= -# ... -#================================================= - -#================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Configuring a systemd service..." --time --weight=1 - -### `ynh_systemd_config` is used to configure a systemd script for an app. -### It can be used for apps that use sysvinit (with adaptation) or systemd. -### Have a look at the app to be sure this app needs a systemd script. -### `ynh_systemd_config` will use the file conf/systemd.service -### If you're not using these lines: -### - You can remove those files in conf/. -### - Remove the section "BACKUP SYSTEMD" in the backup script -### - Remove also the section "STOP AND REMOVE SERVICE" in the remove script -### - As well as the section "RESTORE SYSTEMD" in the restore script -### - And the section "SETUP SYSTEMD" in the upgrade script - -# Create a dedicated systemd config -#ynh_add_systemd_config - -#================================================= -# SETUP APPLICATION WITH CURL -#================================================= - -### Use these lines only if the app installation needs to be finalized through -### web forms. We generally don't want to ask the final user, -### so we're going to use curl to automatically fill the fields and submit the -### forms. - -# Set right permissions for curl install -chown -R $app: $final_path - -# Set the app as temporarily public for curl call -ynh_script_progression --message="Configuring SSOwat..." --time --weight=1 -ynh_app_setting_set --app=$app --key=skipped_uris --value="/" -# Reload SSOwat config -yunohost app ssowatconf - -# Reload Nginx -ynh_systemd_action --service_name=nginx --action=reload - -# Installation with curl -ynh_script_progression --message="Finalizing installation..." --time --weight=1 -#ynh_local_curl "/INSTALL_PATH" "key1=value1" "key2=value2" "key3=value3" - -# Remove the public access -if [ $is_public -eq 0 ] -then - ynh_app_setting_delete --app=$app --key=skipped_uris -fi - -#================================================= -# MODIFY A CONFIG FILE -#================================================= - -### `ynh_replace_string` is used to replace a string in a file. -### (It's compatible with sed regular expressions syntax) - -#ynh_replace_string --match_string="match_string" --replace_string="replace_string" --target_file="$final_path/CONFIG_FILE" - -#================================================= -# STORE THE CONFIG FILE CHECKSUM -#================================================= - -### `ynh_store_file_checksum` is used to store the checksum of a file. -### That way, during the upgrade script, by using `ynh_backup_if_checksum_is_different`, -### you can make a backup of this file before modifying it again if the admin had modified it. - -# Calculate and store the config file checksum into the app settings -#ynh_store_file_checksum --file="$final_path/CONFIG_FILE" - -#================================================= -# GENERIC FINALIZATION -#================================================= -# SECURE FILES AND DIRECTORIES -#================================================= - ### For security reason, any app should set the permissions to root: before anything else. ### Then, if write authorization is needed, any access should be given only to directories ### that really need such authorization. @@ -265,68 +117,6 @@ fi # Set permissions to app files chown -R root: $final_path -#================================================= -# SETUP LOGROTATE -#================================================= -ynh_script_progression --message="Configuring log rotation..." --time --weight=1 - -### `ynh_use_logrotate` is used to configure a logrotate configuration for the logs of this app. -### Use this helper only if there is effectively a log file for this app. -### If you're not using this helper: -### - Remove the section "BACKUP LOGROTATE" in the backup script -### - Remove also the section "REMOVE LOGROTATE CONFIGURATION" in the remove script -### - As well as the section "RESTORE THE LOGROTATE CONFIGURATION" in the restore script -### - And the section "SETUP LOGROTATE" in the upgrade script - -# Use logrotate to manage application logfile(s) -#ynh_use_logrotate - -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= - -### `yunohost service add` integrates a service in YunoHost. It then gets -### displayed in the admin interface and through the others `yunohost service` commands. -### (N.B. : this line only makes sense if the app adds a service to the system!) -### If you're not using these lines: -### - You can remove these files in conf/. -### - Remove the section "REMOVE SERVICE FROM ADMIN PANEL" in the remove script -### - As well as the section "ADVERTISE SERVICE IN ADMIN PANEL" in the restore script - -#yunohost service add $app --description "A short description of the app" --log "/var/log/$app/$app.log" - -### With YunoHost 3.8 you will then be able to: -### - specify a list of ports that needs to be publicly exposed (c.f. --needs_exposed_ports) -### which will then be checked by YunoHost's diagnosis system -### - specify a custom command to check the status of the service (c.f. --test_status) -### though it's only needed for weird cases where 'systemctl status' doesn't do a good job -### - specify a custom command to check / validate the configuration of the service (c.f. --test_conf) -### for example, the command to check the configuration of nginx is "nginx -t" - -#================================================= -# START SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 - -### `ynh_systemd_action` is used to start a systemd service for an app. -### Only needed if you have configure a systemd service -### If you're not using these lines: -### - Remove the section "STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the backup script -### - As well as the section "START SYSTEMD SERVICE" in the restore script -### - As well as the section"STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the upgrade script -### - And the section "STOP SYSTEMD SERVICE" and "START SYSTEMD SERVICE" in the change_url script - -# Start a systemd service -#ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" - -#================================================= -# SETUP FAIL2BAN -#================================================= -ynh_script_progression --message="Configuring fail2ban..." --time --weight=1 - -# Create a dedicated fail2ban config -#ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" - #================================================= # SETUP SSOWAT #================================================= @@ -335,8 +125,7 @@ ynh_script_progression --message="Configuring SSOwat..." --time --weight=1 # Make app public if necessary if [ $is_public -eq 1 ] then - # unprotected_uris allows SSO credentials to be passed anyway. - ynh_app_setting_set --app=$app --key=unprotected_uris --value="/" + ynh_permission_update --permission "main" --add visitors fi #================================================= @@ -346,7 +135,11 @@ ynh_script_progression --message="Reloading nginx web server..." --time --weight ynh_systemd_action --service_name=nginx --action=reload -#Setup index - indexer use the active directory to run +#================================================= +# SETUP INDEX +#================================================= +#indexer use the active directory to run #https://github.com/libretro/RetroArch/tree/master/pkg/emscripten +#Indexer will list the available ROM and cores for Retroarch cd $final_path/assets/frontend/bundle/ ../../../indexer > .index-xhr cd $final_path/assets/cores diff --git a/scripts/remove b/scripts/remove index f590ef5..a3a5c0e 100755 --- a/scripts/remove +++ b/scripts/remove @@ -17,50 +17,20 @@ ynh_script_progression --message="Loading installation settings..." --time --wei app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) -port=$(ynh_app_setting_get --app=$app --key=port) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name final_path=$(ynh_app_setting_get --app=$app --key=final_path) -#================================================= -# STANDARD REMOVE -#================================================= -# REMOVE SERVICE INTEGRATION IN YUNOHOST -#================================================= - -# Remove the service from the list of services known by Yunohost (added from `yunohost service add`) -#if ynh_exec_warn_less yunohost service status $app >/dev/null -#then -# ynh_script_progression --message="Removing $app service..." --time --weight=1 -# yunohost service remove $app -#fi - -#================================================= -# STOP AND REMOVE SERVICE -#================================================= -#ynh_script_progression --message="Stopping and removing the systemd service..." --time --weight=1 - -# Remove the dedicated systemd config -#ynh_remove_systemd_config - -#================================================= -# REMOVE THE MYSQL DATABASE -#================================================= -#ynh_script_progression --message="Removing the MySQL database..." --time --weight=1 - -# Remove a database if it exists, along with the associated user -#ynh_mysql_remove_db --db_user=$db_user --db_name=$db_name - #================================================= # REMOVE DEPENDENCIES #================================================= ynh_script_progression --message="Removing dependencies..." --time --weight=1 # Remove metapackage and its dependencies -ynh_remove_app_dependencies - +#ynh_remove_app_dependencies +#ynh_use_nodejs +#ynh_npm uninstall -g coffeescript npm uninstall -g coffeescript + #================================================= # REMOVE APP MAIN DIR #================================================= @@ -76,40 +46,14 @@ ynh_script_progression --message="Removing nginx web server configuration..." -- # Remove the dedicated nginx config ynh_remove_nginx_config - -#================================================= -# REMOVE PHP-FPM CONFIGURATION -#================================================= -#ynh_script_progression --message="Removing php-fpm configuration..." --time --weight=1 - -# Remove the dedicated php-fpm config -#ynh_remove_fpm_config - -#================================================= -# REMOVE LOGROTATE CONFIGURATION -#================================================= -ynh_script_progression --message="Removing logrotate configuration..." --time --weight=1 - -# Remove the app-specific logrotate config -ynh_remove_logrotate - -#================================================= -# CLOSE A PORT -#================================================= - -#if yunohost firewall list | grep -q "\- $port$" -#then -# ynh_script_progression --message="Closing port $port..." -# ynh_exec_warn_less yunohost firewall disallow TCP $port -#fi - -#================================================= -# REMOVE FAIL2BAN CONFIGURATION -#================================================= -#ynh_script_progression --message="Removing fail2ban configuration..." --time --weight=1 - -# Remove the dedicated fail2ban config -#ynh_remove_fail2ban_config +if [ "$(ynh_app_setting_get --app=$app --key=checksum__etc_nginx_mime.types)" == "$(md5sum "/etc/nginx/mime.types" | cut -d ' ' -f 1)" ]; then + #file has not changed, restore the previous mime.type + rm /etc/nginx/mime.types + mv /etc/nginx/mime.types.$app /etc/nginx/mime.types +else + #keep the actual mime.type and warn +ynh_print_warn "/etc/nginx/mime.types has changed! Keeping current file!" +fi #================================================= # SPECIFIC REMOVE @@ -123,9 +67,6 @@ ynh_remove_logrotate # Remove a directory securely #ynh_secure_remove --file="/etc/$app/" -# Remove the log files -#ynh_secure_remove --file="/var/log/$app/" - #================================================= # GENERIC FINALIZATION #================================================= diff --git a/scripts/restore b/scripts/restore index a153a70..4c1b3b0 100755 --- a/scripts/restore +++ b/scripts/restore @@ -7,8 +7,9 @@ #================================================= #Keep this path for calling _common.sh inside the execution's context of backup and restore scripts -source ../settings/scripts/_common.sh source /usr/share/yunohost/helpers +source ../settings/scripts/_common.sh + #================================================= # MANAGE SCRIPT FAILURE @@ -31,8 +32,7 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) final_path=$(ynh_app_setting_get --app=$app --key=final_path) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) -db_user=$db_name +is_public=$(ynh_app_setting_get --app=$app --key=is_public) #================================================= # CHECK IF THE APP CAN BE RESTORED @@ -52,6 +52,14 @@ test ! -d $final_path \ ynh_restore_file --origin_path="/etc/nginx/conf.d/$domain.d/$app.conf" +#backup & Update nginx MIME type so wasm mime type is recognized + +if [ !$(grep wasm /etc/nginx/mime.types) ]; then + ynh_print_info "/etc/nginx/mime.types saved as /etc/nginx/mime.types.$app" + cp /etc/nginx/mime.types /etc/nginx/mime.types.$app + ynh_replace_string --match_string=" application/octet-stream bin exe dll;" --replace_string=" application/wasm wasm;\n\n application/octet-stream bin exe dll;" --target_file="/etc/nginx/mime.types" + ynh_store_file_checksum --file="/etc/nginx/mime.types" +fi #================================================= # RESTORE THE APP MAIN DIR #================================================= @@ -74,21 +82,6 @@ ynh_system_user_create --username=$app # Restore permissions on app files chown -R root: $final_path -#================================================= -# RESTORE THE PHP-FPM CONFIGURATION -#================================================= - -ynh_restore_file --origin_path="/etc/php/7.0/fpm/pool.d/$app.conf" - -#================================================= -# RESTORE FAIL2BAN CONFIGURATION -#================================================= -ynh_script_progression --message="Restoring the fail2ban configuration..." --time --weight=1 - -ynh_restore_file "/etc/fail2ban/jail.d/$app.conf" -ynh_restore_file "/etc/fail2ban/filter.d/$app.conf" -ynh_systemd_action --action=restart --service_name=fail2ban - #================================================= # SPECIFIC RESTORATION #================================================= @@ -97,58 +90,36 @@ ynh_systemd_action --action=restart --service_name=fail2ban ynh_script_progression --message="Reinstalling dependencies..." --time --weight=1 # Define and install dependencies -ynh_install_app_dependencies $pkg_dependencies +#Dependencies are not really required as this is just to unzip the 7z file +#ynh_install_app_dependencies $pkg_dependencies -#================================================= -# RESTORE THE MYSQL DATABASE -#================================================= -ynh_script_progression --message="Restoring the MySQL database..." --time --weight=1 - -db_pwd=$(ynh_app_setting_get --app=$app --key=mysqlpwd) -ynh_mysql_setup_db --db_user=$db_user --db_name=$db_name --db_pwd=$db_pwd -ynh_mysql_connect_as --user=$db_user --password=$db_pwd --database=$db_name < ./db.sql - -#================================================= -# RESTORE SYSTEMD -#================================================= -ynh_script_progression --message="Restoring the systemd configuration..." --time --weight=1 - -ynh_restore_file --origin_path="/etc/systemd/system/$app.service" -systemctl enable $app.service - -#================================================= -# INTEGRATE SERVICE IN YUNOHOST -#================================================= - -yunohost service add $app --description "A short description of the app" --log "/var/log/$app/$app.log" - -#================================================= -# START SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 - -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" +#However, npm IS required to run the coffeescript +#ynh_install_nodejs --nodejs_version=14 +#ynh_use_nodejs +#ynh_npm install -g coffeescript +npm install -g coffeescript #================================================= # RESTORE THE CRON FILE #================================================= -ynh_restore_file --origin_path="/etc/cron.d/$app" +#ynh_restore_file --origin_path="/etc/cron.d/$app" -#================================================= -# RESTORE THE LOGROTATE CONFIGURATION -#================================================= - -ynh_restore_file --origin_path="/etc/logrotate.d/$app" +# Make app public if necessary +if [ $is_public -eq 1 ] +then + # unprotected_uris allows SSO credentials to be passed anyway. + #ynh_app_setting_set $app unprotected_uris "/" + ynh_permission_update --permission "main" --add visitors +fi #================================================= # GENERIC FINALIZATION #================================================= # RELOAD NGINX AND PHP-FPM #================================================= -ynh_script_progression --message="Reloading nginx web server and php-fpm..." --time --weight=1 +ynh_script_progression --message="Reloading nginx web server..." --time --weight=1 -ynh_systemd_action --service_name=php7.0-fpm --action=reload ynh_systemd_action --service_name=nginx --action=reload #================================================= diff --git a/scripts/upgrade b/scripts/upgrade index 243e85b..7d5a629 100755 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -18,11 +18,8 @@ app=$YNH_APP_INSTANCE_NAME domain=$(ynh_app_setting_get --app=$app --key=domain) path_url=$(ynh_app_setting_get --app=$app --key=path) -admin=$(ynh_app_setting_get --app=$app --key=admin) is_public=$(ynh_app_setting_get --app=$app --key=is_public) final_path=$(ynh_app_setting_get --app=$app --key=final_path) -language=$(ynh_app_setting_get --app=$app --key=language) -db_name=$(ynh_app_setting_get --app=$app --key=db_name) #================================================= # CHECK VERSION @@ -50,12 +47,6 @@ elif [ "$is_public" = "No" ]; then is_public=0 fi -# If db_name doesn't exist, create it -if [ -z "$db_name" ]; then - db_name=$(ynh_sanitize_dbid --db_name=$app) - ynh_app_setting_set --app=$app --key=db_name --value=$db_name -fi - # If final_path doesn't exist, create it if [ -z "$final_path" ]; then final_path=/var/www/$app @@ -88,15 +79,6 @@ ynh_abort_if_errors # safely remove this line path_url=$(ynh_normalize_url_path --path_url=$path_url) -#================================================= -# STANDARD UPGRADE STEPS -#================================================= -# STOP SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Stopping a systemd service..." --time --weight=1 - -ynh_systemd_action --service_name=$app --action="stop" --log_path="/var/log/$app/$app.log" - #================================================= # DOWNLOAD, CHECK AND UNPACK SOURCE #================================================= @@ -106,7 +88,9 @@ then ynh_script_progression --message="Upgrading source files..." --time --weight=1 # Download, check integrity, uncompress and patch the source from app.src - ynh_setup_source --dest_dir="$final_path" + ynh_setup_source --dest_dir="$final_path" --source_id=$app + 7zr e $final_path/retroarch.7z -o$final_path + rm $final_path/retroarch.7z fi #================================================= @@ -132,14 +116,6 @@ ynh_script_progression --message="Making sure dedicated system user exists..." - # Create a dedicated user (if not existing) ynh_system_user_create --username=$app -#================================================= -# PHP-FPM CONFIGURATION -#================================================= -ynh_script_progression --message="Upgrading php-fpm configuration..." --time --weight=1 - -# Create a dedicated php-fpm config -ynh_add_fpm_config - #================================================= # SPECIFIC UPGRADE #================================================= @@ -152,35 +128,9 @@ ynh_add_fpm_config ### Verify the checksum of a file, stored by `ynh_store_file_checksum` in the install script. ### And create a backup of this file if the checksum is different. So the file will be backed up if the admin had modified it. -ynh_backup_if_checksum_is_different --file="$final_path/CONFIG_FILE" +#ynh_backup_if_checksum_is_different --file="$final_path/CONFIG_FILE" # Recalculate and store the checksum of the file for the next upgrade. -ynh_store_file_checksum --file="$final_path/CONFIG_FILE" - -#================================================= -# SETUP LOGROTATE -#================================================= -ynh_script_progression --message="Upgrading logrotate configuration..." --time --weight=1 - -# Use logrotate to manage app-specific logfile(s) -ynh_use_logrotate --non-append - -#================================================= -# SETUP SYSTEMD -#================================================= -ynh_script_progression --message="Upgrading systemd configuration..." --time --weight=1 - -# Create a dedicated systemd config -ynh_add_systemd_config - -#================================================= -# GENERIC FINALIZATION -#================================================= -# UPGRADE FAIL2BAN -#================================================= -ynh_script_progression --message="Reconfiguring fail2ban..." --time --weight=1 - -# Create a dedicated fail2ban config -ynh_add_fail2ban_config --logpath="/var/log/nginx/${domain}-error.log" --failregex="Regex to match into the log for a failed login" +#ynh_store_file_checksum --file="$final_path/CONFIG_FILE" #================================================= # SECURE FILES AND DIRECTORIES @@ -201,13 +151,6 @@ then ynh_app_setting_set --app=$app --key=unprotected_uris --value="/" fi -#================================================= -# START SYSTEMD SERVICE -#================================================= -ynh_script_progression --message="Starting a systemd service..." --time --weight=1 - -ynh_systemd_action --service_name=$app --action="start" --log_path="/var/log/$app/$app.log" - #================================================= # RELOAD NGINX #=================================================