#!/bin/bash

realpath() {
    [[ $1 = /* ]] && echo "$1" || echo "$PWD/${1#./}"
}

thiscript=`readlink $0`
if [ $? -ne 0 ]; then
    thiscript=$0
fi

HERE=`dirname ${thiscript}`
if [ ${HERE} = "/" ]; then
    echo "Please do not install redis-stack to /"
    exit 3
fi

if [ ${HERE} = "." ]; then
BASEDIR=..
else
BASEDIR=`dirname $HERE`
fi

CMD=${BASEDIR}/bin/redis-server
MODULEDIR=$(realpath ${BASEDIR})/lib

if [ -z ${REDISEARCH_ARGS} ]; then
REDISEARCH_ARGS="MAXSEARCHRESULTS 10000 MAXAGGREGATERESULTS 10000"
fi

echo "Starting redis-stack-server"

exec ${CMD} \
--protected-mode no \
--daemonize no \
--loadmodule ${MODULEDIR}/rediscompat.so \
--loadmodule ${MODULEDIR}/redisearch.so ${REDISEARCH_ARGS} \
--loadmodule ${MODULEDIR}/redistimeseries.so ${REDISTIMESERIES_ARGS} \
--loadmodule ${MODULEDIR}/rejson.so ${REDISJSON_ARGS} \
--loadmodule ${MODULEDIR}/redisbloom.so ${REDISBLOOM_ARGS} \
--loadmodule ${MODULEDIR}/redisgears.so v8-plugin-path ${MODULEDIR}/libredisgears_v8_plugin.so  ${REDISGEARS_ARGS} \
$*
