mirror of
https://github.com/m1k1o/neko.git
synced 2024-07-24 14:40:50 +12:00
65 lines
1.6 KiB
Bash
Executable File
65 lines
1.6 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"
|
||
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" \
|
||
-v "${PWD}/runtime/$CONFIG:/etc/neko/neko.yml" \
|
||
-e "NEKO_DEBUG=1" \
|
||
--shm-size=2G \
|
||
--security-opt seccomp=unconfined \
|
||
$EXTRAOPTS \
|
||
neko_server_app:latest;
|