#!/usr/bin/env sh
set -eu

SCRIPT_DIR=$(CDPATH= cd -- "$(dirname -- "$0")" && pwd)
APP_HOME=$(CDPATH= cd -- "$SCRIPT_DIR/.." && pwd)
CONFIG_FILE="$APP_HOME/conf/castara.conf"

if [ -f "$CONFIG_FILE" ]; then
    . "$CONFIG_FILE"
fi

JAVA_BIN="java"
if [ -n "${JAVA_HOME:-}" ]; then
    JAVA_BIN="$JAVA_HOME/bin/java"
fi

MEDIA_SERVER_PORT="${MEDIA_SERVER_PORT:-8181}"
MEDIA_SERVER_BROWSER_HOST="${MEDIA_SERVER_BROWSER_HOST:-127.0.0.1}"
MEDIA_SERVER_OPEN_BROWSER="${MEDIA_SERVER_OPEN_BROWSER:-true}"

JAVA_ARGS="-Dmedia.server.port=$MEDIA_SERVER_PORT -Dmedia.server.browserHost=$MEDIA_SERVER_BROWSER_HOST -Dmedia.server.openBrowser=$MEDIA_SERVER_OPEN_BROWSER"

if [ -n "${MEDIA_SERVER_BIND_HOST:-}" ]; then
    JAVA_ARGS="$JAVA_ARGS -Dmedia.server.bindHost=$MEDIA_SERVER_BIND_HOST"
fi

if [ -n "${MEDIA_SERVER_ADVERTISED_HOST:-}" ]; then
    JAVA_ARGS="$JAVA_ARGS -Dmedia.server.advertisedHost=$MEDIA_SERVER_ADVERTISED_HOST"
fi

# shellcheck disable=SC2086
exec "$JAVA_BIN" ${JAVA_OPTS:-} $JAVA_ARGS -cp "$APP_HOME/lib/*" com.maa.mediaserver.server.MainKt