#!/bin/sh
cd "$(dirname "$0")"

if [ -z $NEKO_PORT ]; then
    NEKO_PORT="3000"
fi

if [ -z $NEKO_HOST ]; then
    for i in $(ifconfig -l 2>/dev/null); do
        NEKO_HOST=$(ipconfig getifaddr $i)
        if [ ! -z $NEKO_HOST ]; then
            break
        fi
    done

    if [ -z $NEKO_HOST ]; then
        NEKO_HOST=$(hostname -I 2>/dev/null | awk '{print $1}')
    fi

    if [ -z $NEKO_HOST ]; then
        NEKO_HOST=$(hostname -i 2>/dev/null)
    fi
fi

echo "Using app port: ${NEKO_PORT}"
echo "Using IP address: ${NEKO_HOST}"

APP_PATH="$(realpath ../)"

# npm run serve
docker run --rm -it \
    -p 3001:3001 \
    -e "NEKO_HOST=$NEKO_HOST" \
    -e "NEKO_PORT=$NEKO_PORT" \
    -e "VUE_APP_LOG_COLOR=true" \
    --user "$(id -u):$(id -g)" \
    --volume "$APP_PATH:$APP_PATH" \
    --entrypoint="npm" \
    --workdir="$APP_PATH" \
    node:18-buster-slim run dev -- --port 3001 --host