#/bin/bash
-DIR=`dirname $0`
-PROG=`basename $0`
+NAME="indexdata-lui-solr-zookeeper"
+HOST=localhost
+PORT=8983
+SHARDS=2
+PID_FILE=/var/run/${NAME}.pid
+LOG_FILE=/var/log/${NAME}.log
+ZOOKEEPER=yes
+OPTIONS=${OPTIONS:-options}
-cd $DIR
-OPTIONS="-Djetty.port=7500 -DzkHost=opencontent-solr.index:9983"
-if [ -f "options" ]; then
- source options
+if [ -f "$OPTIONS" ]; then
+ source $OPTIONS
else
- echo "No options file. Using defaults: $OPTIONS"
+ echo "No options file ($OPTIONS). Using defaults."
+fi
+let ZKPORT=$PORT+1000
+if [ "$ZKHOSTS" == "" ] ; then
+ ZKHOSTS=${HOST}:${ZKPORT}
+fi
+
+if [ "$BOOTSTRAP_CONF" != "" ] ; then
+ BOOTSTRAP_OPT="-Dbootstrap_confdir=$BOOTSTRAP_CONF"
+fi
+if [ "$PORT" == "" ] ; then
+ echo Port missing
+
+fi
+if [ "$ZKHOSTS" == "" ] ; then
+ echo ZKHOSTS missing
+fi
+if [ "$SHARDS" == "" ] ; then
+ echo SHARDS missing
+fi
+if [ "$ZOOKEEPER" == "yes" ] ; then
+ ZKRUN="-DzkRun -DnumShards=${SHARDS}"
+fi
+if [ "${SOLR_HOME}" != "" ] ; then
+ SOLR_HOME_OPT="-Dsolr.solr.home=${SOLR_HOME}"
fi
-if [ "$1" = "start" ]; then
- if [ -f "${PROG}.pid" ] ; then
- echo "Pid file ${DIR}/${PROG}.pid exists. Already running?"
+OPTIONS=" $SOLR_HOME_OPT -Djetty.port=$PORT ${BOOTSTRAP_OPT} -Dcollection.configName=$NAME ${ZKRUN} -DzkHost=${ZKHOSTS} "
+if [ "$1" == "start" ]; then
+ if [ -f "${PID_FILE}" ] ; then
+ echo "pid file ${PID_FILE} exists. Already running?"
exit 1
fi
- java $OPTIONS -jar start.jar > solr.log &
- echo $$ > ${PROG}.pid
-elif [ "$1" = "stop" ]; then
- if [ -x "${PROG}.pid" ] ; then
- kill `echo ${PROG}.pid`
- rm ${PROG}.pid
+ java $OPTIONS -jar start.jar > $LOG_FILE &
+ echo $! > ${PID_FILE}
+elif [ "$1" == "stop" ]; then
+ if [ -f "${PID_FILE}" ] ; then
+ kill `cat ${PID_FILE}`
+ rm ${PID_FILE}
+ else
+ echo "No pid file ($PID_FILE) found"
fi
else
- echo "$0 [start|stop]"
+ echo "$0 [start|stop|status]"
fi