mirror of
https://github.com/m1k1o/neko.git
synced 2026-11-03 00:11:48 -06:00
baf21c1d97
we used to have file neko.yaml with default configuration, but if we would add neko.yml the default configuration would still be read. so instead, default configuartion was moved to the sever itself and no file is distributed with it by defautl.
71 lines
1.8 KiB
Bash
Executable File
71 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
cd "$(dirname "$0")"
|
||
|
||
if [ -z "$(docker images -q neko_server:app 2> /dev/null)" ]; then
|
||
echo "Image 'neko_server:app' not found. Running ./build first."
|
||
./build
|
||
fi
|
||
|
||
if [ -z $NEKO_PORT ]; then
|
||
NEKO_PORT="3000"
|
||
fi
|
||
|
||
if [ -z $NEKO_MUX ]; then
|
||
NEKO_MUX="52100"
|
||
fi
|
||
|
||
if [ -z $NEKO_NAT1TO1 ]; then
|
||
for i in $(ifconfig -l 2>/dev/null); do
|
||
NEKO_NAT1TO1=$(ipconfig getifaddr $i)
|
||
if [ ! -z $NEKO_NAT1TO1 ]; then
|
||
break
|
||
fi
|
||
done
|
||
|
||
if [ -z $NEKO_NAT1TO1 ]; then
|
||
NEKO_NAT1TO1=$(hostname -I 2>/dev/null | awk '{print $1}')
|
||
fi
|
||
|
||
if [ -z $NEKO_NAT1TO1 ]; then
|
||
NEKO_NAT1TO1=$(hostname -i 2>/dev/null)
|
||
fi
|
||
fi
|
||
|
||
# if first argument is nvidia, start with nvidia runtime
|
||
if [ "$1" = "nvidia" ]; then
|
||
echo "Starting nvidia docker image"
|
||
EXTRAOPTS="--gpus all"
|
||
CONFIG="config.nvidia.yml"
|
||
elif [ "$1" = "intel" ]; then
|
||
echo "Starting intel docker image"
|
||
EXTRAOPTS="--device /dev/dri"
|
||
# TODO: add intel config
|
||
# CONFIG="config.intel.yml"
|
||
else
|
||
echo "Starting default docker image"
|
||
EXTRAOPTS=""
|
||
CONFIG="config.yml"
|
||
fi
|
||
|
||
echo "Using app port: ${NEKO_PORT}"
|
||
echo "Using mux port: ${NEKO_MUX}"
|
||
echo "Using IP address: ${NEKO_NAT1TO1}"
|
||
|
||
# start server
|
||
docker run --rm -it \
|
||
--name "neko_server_dev" \
|
||
-p "${NEKO_PORT}:8080" \
|
||
-p "${NEKO_MUX}:${NEKO_MUX}/tcp" \
|
||
-p "${NEKO_MUX}:${NEKO_MUX}/udp" \
|
||
-e "NEKO_WEBRTC_UDPMUX=${NEKO_MUX}" \
|
||
-e "NEKO_WEBRTC_TCPMUX=${NEKO_MUX}" \
|
||
-e "NEKO_WEBRTC_NAT1TO1=${NEKO_NAT1TO1}" \
|
||
-e "NEKO_SESSION_FILE=/home/neko/sessions.txt" \
|
||
-e "NEKO_SERVER_CORS=*" \
|
||
-v "${PWD}/runtime/$CONFIG:/etc/neko/neko.yaml" \
|
||
-e "NEKO_DEBUG=1" \
|
||
--shm-size=2G \
|
||
--security-opt seccomp=unconfined \
|
||
$EXTRAOPTS \
|
||
neko_server:app;
|