Browse Source

[enh] Support new env. vars. in install script

Julien Malik 8 years ago
parent
commit
f506747fac
3 changed files with 18 additions and 7 deletions
  1. 1 1
      manifest.json
  2. 15 5
      scripts/install
  3. 2 1
      scripts/upgrade

+ 1 - 1
manifest.json

@@ -12,7 +12,7 @@
         "email": "john.doe@example.com",
         "url": "http://example.com"
     },
-    "multi_instance": "false",
+    "multi_instance": "true",
     "services": [
         "nginx",
         "php5-fpm",

+ 15 - 5
scripts/install

@@ -3,13 +3,23 @@
 # causes the shell to exit if any subcommand or pipeline returns a non-zero status
 set -e
 
-app=ynhexample
+# This is 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 you are interested the 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
 
 # Retrieve arguments
-domain=$1
-path=$2
-admin=$3
-is_public=$4
+domain=$YNH_APP_ARG_DOMAIN
+path=$YNH_APP_ARG_PATH
+admin=$YNH_APP_ARG_ADMIN
+is_public=$YNH_APP_ARG_IS_PUBLIC
 
 # Save app settings
 sudo yunohost app setting $app admin -v "$admin"

+ 2 - 1
scripts/upgrade

@@ -3,7 +3,8 @@
 # causes the shell to exit if any subcommand or pipeline returns a non-zero status
 set -e
 
-app=ynhexample
+# See comments in install script
+app=$YNH_APP_INSTANCE_NAME
 
 # Retrieve arguments
 domain=$(sudo yunohost app setting $app domain)