Add target to get Syncthing and start server script.
[src/xds/xds-server.git] / scripts / xds-start-server.sh
diff --git a/scripts/xds-start-server.sh b/scripts/xds-start-server.sh
new file mode 100755 (executable)
index 0000000..5a3cba7
--- /dev/null
@@ -0,0 +1,50 @@
+#!/bin/bash
+
+# Configurable variables
+[ -z "$BINDIR" ] && BINDIR=/usr/local/bin
+[ -z "$ST_CONFDIR" ] && ST_CONFDIR=$HOME/.xds/syncthing-config
+[ -z "$XDS_CONFFILE" ] && XDS_CONFFILE=$HOME/.xds/config.json
+[ -z "$LOGLEVEL" ] && LOGLEVEL=warn
+[ -z "$LOGDIR" ] && LOGDIR=/tmp/xds-logs
+[ -z "$PORT_GUI" ] && PORT_GUI=8384
+[ -z "$API_KEY" ] && API_KEY="1234abcezam"
+
+
+mkdir -p ${LOGDIR}
+LOG_XDS=${LOGDIR}/xds-server.log
+LOG_SYNC=${LOGDIR}/syncthing.log
+LOG_SYNCI=${LOGDIR}/syncthing-inotify.log
+
+echo "### Info"
+echo "XDS server config: $XDS_CONFFILE"
+echo "Syncthing GUI on port: $PORT_GUI"
+echo "Syncthing Config: $ST_CONFDIR"
+echo "XDS server output redirected in: $LOG_XDS"
+echo "Syncthing-inotify output redirected in: $LOG_SYNCI"
+echo "Syncthing output redirected in: $LOG_SYNC"
+echo ""
+
+pwd
+[[ -f $BINDIR/xds-server ]] || { BINDIR=$(cd `dirname $0` && pwd); }
+pwd
+[[ -f $BINDIR/xds-server ]] || { echo "Cannot find xds-server in BINDIR !"; exit 1; }
+
+echo "### Start syncthing-inotify:"
+$BINDIR/syncthing-inotify --home=$ST_CONFDIR -target=http://localhost:$PORT_GUI -verbosity=4 > $LOG_SYNCI  2>&1 &
+pid_synci=$(jobs -p)
+echo "pid=${pid_synci}"
+echo ""
+
+echo "### Start Syncthing:"
+STNODEFAULTFOLDER=1 $BINDIR/syncthing --home=$ST_CONFDIR -no-browser -verbose --gui-address=0.0.0.0:$PORT_GUI -gui-apikey=${API_KEY} > $LOG_SYNC 2>&1 &
+pid_sync=$(jobs -p)
+echo "pid=${pid_sync}"
+echo ""
+
+sleep 1
+
+echo "### Start XDS server"
+$BINDIR/xds-server --config $XDS_CONFFILE -log $LOGLEVEL > $LOG_XDS 2>&1 &
+pid_xds=$(jobs -p)
+echo "pid=${pid_xds}"
+echo ""