Fix webapp location for install and startup.
authorSebastien Douheret <sebastien.douheret@iot.bzh>
Fri, 26 May 2017 13:32:06 +0000 (15:32 +0200)
committerSebastien Douheret <sebastien.douheret@iot.bzh>
Fri, 26 May 2017 13:32:06 +0000 (15:32 +0200)
Makefile
scripts/xds-start-server.sh

index 96bada4..bcaab92 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -23,7 +23,7 @@ ifeq ($(origin INSTALL_DIR), undefined)
        INSTALL_DIR := /usr/local/bin
 endif
 ifeq ($(origin INSTALL_WEBAPP_DIR), undefined)
-       INSTALL_WEBAPP_DIR := $(INSTALL_DIR)/xds-server-www
+       INSTALL_WEBAPP_DIR := $(INSTALL_DIR)/www-xds-server
 endif
 
 HOST_GOOS=$(shell go env GOOS)
index 66da261..9a6ff05 100755 (executable)
@@ -5,20 +5,23 @@
 [ -z "$XDS_CONFFILE" ] && XDS_CONFFILE=$HOME/.xds/config.json
 [ -z "$XDS_SHAREDIR" ] && XDS_SHAREDIR=$HOME/.xds/share
 [ -z "$ST_CONFDIR" ] && ST_CONFDIR=$HOME/.xds/syncthing-config
+[ -z "$XDS_WWWDIR" ] && XDS_WWWDIR=webapp/dist
 [ -z "$LOGLEVEL" ] && LOGLEVEL=warn
 [ -z "$LOGDIR" ] && LOGDIR=/tmp/xds-server/logs
 [ -z "$PORT_GUI" ] && PORT_GUI=8384
 [ -z "$API_KEY" ] && API_KEY="1234abcezam"
 
-
 [[ -f $BINDIR/xds-server ]] || { echo "Cannot find xds-server in BINDIR !"; exit 1; }
 
 # Create config.json file when needed
-[[ -f ${XDS_CONFFILE} ]] || { mv ${XDS_CONFFILE} ${XDS_CONFFILE}.old; }
-
-cat <<EOF > ${XDS_CONFFILE}
+if [ -f "${XDS_CONFFILE}" ]; then
+    mv ${XDS_CONFFILE} ${XDS_CONFFILE}.old
+    [ ! -f "$XDS_WWWDIR/index.html" ] && XDS_WWWDIR=$BINDIR/www-xds-server
+    [ ! -f "$XDS_WWWDIR/index.html" ] && XDS_WWWDIR=/var/www/xds-server
+    [ ! -f "$XDS_WWWDIR/index.html" ] && { echo "Cannot determine XDS-server webapp directory."; exit 1; }
+    cat <<EOF > ${XDS_CONFFILE}
 {
-    "webAppDir": "webapp/dist",
+    "webAppDir": "${XDS_WWWDIR}",
     "shareRootDir": "${XDS_SHAREDIR}",
     "logsDir": "${LOGDIR}",
     "sdkRootDir": "/xdt/sdk",
@@ -30,6 +33,7 @@ cat <<EOF > ${XDS_CONFFILE}
     }
 }
 EOF
+fi
 
 echo "### Configuration in config.json: "
 cat ${XDS_CONFFILE}
@@ -39,9 +43,9 @@ mkdir -p ${LOGDIR}
 LOG_XDS=${LOGDIR}/xds-server.log
 
 echo "### Start XDS server"
-echo " $BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1"
+echo "nohup $BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1"
 if [ "$1" != "-dryrun" ]; then
-    $BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1 &
+    nohup $BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1 &
     pid_xds=$(jobs -p)
     echo "pid=${pid_xds}"
 fi