mirror of
https://github.com/YunoHost-Apps/pluxml_ynh.git
synced 2024-09-03 20:16:02 +02:00
Multi-instance
I think this is all that is needed :) Your scripts are very clean so YunoHost takes care of the rest (adds __1, __2, etc... behind $app names).
This commit is contained in:
parent
c1014462b8
commit
e1fd9094dc
3 changed files with 18 additions and 5 deletions
|
@ -13,10 +13,14 @@ location YNH_EXAMPLE_PATH {
|
|||
fastcgi_param PATH_INFO $fastcgi_path_info;
|
||||
fastcgi_param SCRIPT_FILENAME $request_filename;
|
||||
}
|
||||
<<<<<<< HEAD
|
||||
location YNH_EXAMPLE_PATH/data/medias{
|
||||
=======
|
||||
location YNH_EXAMPLE_FOLDER/data/images{
|
||||
>>>>>>> 6dd6e03... [fix] support root subfolder, subfolder with and without trailing slash
|
||||
allow all;
|
||||
}
|
||||
location YNH_EXAMPLE_PATH/data {
|
||||
location YNH_EXAMPLE_FOLDER/data {
|
||||
deny all;
|
||||
return 403;
|
||||
}
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
"email": "matlink@matlink.fr",
|
||||
"url": ""
|
||||
},
|
||||
"multi_instance": "false",
|
||||
"multi_instance": "true",
|
||||
"arguments": {
|
||||
"install" : [
|
||||
{
|
||||
|
|
|
@ -10,6 +10,9 @@ password=$4
|
|||
is_public=$5
|
||||
default_lang=$6
|
||||
|
||||
# Remove trailing slash
|
||||
[ "$path" != "/" ] && path=${path%/}
|
||||
|
||||
# Check domain/path availability
|
||||
sudo yunohost app checkurl $domain$path -a $app
|
||||
if [[ ! $? -eq 0 ]]; then
|
||||
|
@ -45,8 +48,13 @@ sudo find $final_path -type f | xargs sudo chmod 644
|
|||
sudo find $final_path -type d | xargs sudo chmod 755
|
||||
|
||||
#configure nginx settings
|
||||
folder_path=${path%/}
|
||||
sudo sed -i "s@YNH_EXAMPLE_PATH@$path@g" ../conf/nginx.conf
|
||||
sudo sed -i "s@YNH_EXAMPLE_ALIAS@$final_path@g" ../conf/nginx.conf
|
||||
# If path is only / (without subfolder), add trailing slash to alias
|
||||
alias_path=$final_path
|
||||
[ "$path" == '/' ] && alias_path=$alias_path'/'
|
||||
sudo sed -i "s@YNH_EXAMPLE_ALIAS@$alias_path@g" ../conf/nginx.conf
|
||||
sudo sed -i "s@YNH_EXAMPLE_FOLDER@$folder_path@g" ../conf/nginx.conf
|
||||
sudo cp ../conf/nginx.conf /etc/nginx/conf.d/$domain.d/$app.conf
|
||||
|
||||
#temporary set public accessible
|
||||
|
@ -61,7 +69,8 @@ sudo sed -i "1 i\127.0.0.1 $domain #pluxml_hosts" /etc/hosts
|
|||
|
||||
#make request to install app
|
||||
#get the html page
|
||||
curl -kL -o install_page.html https://$domain$path/install.php >/dev/null 2>&1
|
||||
curl_path=$([ "$path" == "/" ] || echo $path)
|
||||
curl -kL -o install_page.html https://$domain$curl_path/install.php >/dev/null 2>&1
|
||||
|
||||
|
||||
#get the token for form validation
|
||||
|
@ -75,7 +84,7 @@ curl -k -X POST \
|
|||
--data-urlencode "pwd=$password" \
|
||||
--data-urlencode "pwd2=$password" \
|
||||
--data-urlencode "token=$token" \
|
||||
https://$domain$path/install.php > /dev/null 2>&1
|
||||
https://$domain$curl_path/install.php > /dev/null 2>&1
|
||||
|
||||
sudo rm -f $final_path/install.php
|
||||
|
||||
|
|
Loading…
Reference in a new issue