diff --git a/scripts/_common.sh b/scripts/_common.sh index 80df790..a141a48 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -1,3 +1,5 @@ #!/bin/bash VERSION="1.1.4" + +JAPPIX_SOURCE_URL="https://github.com/jappix/jappix/archive/${VERSION}.tar.gz" diff --git a/scripts/install b/scripts/install index d61db8a..a89b170 100644 --- a/scripts/install +++ b/scripts/install @@ -8,21 +8,16 @@ app=${!#} # Retrieve arguments domain=$1 -path=$2 +path=${2%/} name=$3 language=$4 # Check domain/path availability -sudo yunohost app checkurl "${domain}${path}" -a "$app" -if [[ ! $? -eq 0 ]]; then -exit 1 -fi - -# Remove trailing "/" for next commands -path=${path%/} +sudo yunohost app checkurl "${domain}${path}" -a "$app" \ + || exit 1 # Retrieve sources -wget -nv -O jappix.tar.gz https://github.com/jappix/jappix/archive/${VERSION}.tar.gz +wget -q -O jappix.tar.gz "$JAPPIX_SOURCE_URL" # Copy files to the right place final_path="/var/www/${app}" @@ -33,25 +28,22 @@ sudo cp ../conf/*.xml "${final_path}/store/conf/" # Set permissions to jappix directory sudo chown -R www-data: "$final_path" -# Modify Nginx configuration file and copy it to Nginx conf directory +# Set and copy NGINX configuraion sudo sed -i "s@PATHTOCHANGE2@${path}@g" ../conf/nginx.conf - -if [ -z "$path" ]; then - path="/" -fi - -sudo ls $final_path/i18n/$language > /dev/null 2>&1 -if [ $? != 0 ]; -then - language="en" -fi - -sudo yunohost app setting "$app" name -v "$name" -sudo yunohost app setting "$app" language -v "$language" - +path=${path:-/} sudo sed -i "s@PATHTOCHANGE@${path}@g" ../conf/nginx.conf sudo sed -i "s@ALIASTOCHANGE@${final_path}/@g" ../conf/nginx.conf sudo cp ../conf/nginx.conf "/etc/nginx/conf.d/${domain}.d/${app}.conf" + +# Validate language +[[ -a "${final_path}/i18n/${language}" ]] \ + || language="en" + +# Store app settings +sudo yunohost app setting "$app" name -v "$name" +sudo yunohost app setting "$app" language -v "$language" + +# Set Jappix configuration sudo sed -i "s@PATHTOCHANGE@${path}@g" "${final_path}/store/conf/main.xml" sudo sed -i "s@PATHTOCHANGE@${path}@g" "${final_path}/store/conf/hosts.xml" sudo sed -i "s@DOMAINTOCHANGE@${domain}@g" "${final_path}/store/conf/main.xml" diff --git a/scripts/upgrade b/scripts/upgrade index 12c3c95..3d477b5 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -1,5 +1,7 @@ #!/bin/bash +set -e + source ./_common.sh app=${!#} @@ -10,40 +12,33 @@ path=$(sudo yunohost app setting "$app" path) name=$(sudo yunohost app setting "$app" name) language=$(sudo yunohost app setting "$app" language) -if [[ "$name" = "" ]]; -then - name="YunoJappix" -fi -if [[ "$language" = "" ]]; -then - language="en" -fi +# Set default values +name="${name:-YunoJappix}" +language="${language:-en}" # Remove trailing "/" for next commands path=${path%/} # Retrieve sources -wget -nv -O jappix.tar.gz https://github.com/jappix/jappix/archive/${VERSION}.tar.gz +wget -q -O jappix.tar.gz "$JAPPIX_SOURCE_URL" # Copy files to the right place final_path="/var/www/${app}" -sudo mkdir -p "$final_path" +sudo mkdir -p "${final_path}/store/conf" sudo tar -C "$final_path" -xf jappix.tar.gz --strip-components 1 sudo cp ../conf/*.xml "${final_path}/store/conf/" # Set permissions to jappix directory sudo chown -R www-data: "$final_path" -# Modify Nginx configuration file and copy it to Nginx conf directory +# Set and copy NGINX configuraion sudo sed -i "s@PATHTOCHANGE2@${path}@g" ../conf/nginx.conf - -if [ -z "$path" ]; then - path="/" -fi - +path=${path:-/} sudo sed -i "s@PATHTOCHANGE@${path}@g" ../conf/nginx.conf sudo sed -i "s@ALIASTOCHANGE@${final_path}/@g" ../conf/nginx.conf sudo cp ../conf/nginx.conf "/etc/nginx/conf.d/${domain}.d/${app}.conf" + +# Set Jappix configuration sudo sed -i "s@PATHTOCHANGE@${path}@g" "${final_path}/store/conf/main.xml" sudo sed -i "s@PATHTOCHANGE@${path}@g" "${final_path}/store/conf/hosts.xml" sudo sed -i "s@DOMAINTOCHANGE@${domain}@g" "${final_path}/store/conf/main.xml"