split traefik in dev.

This commit is contained in:
Miroslav Šedivý
2022-07-31 20:54:03 +02:00
parent 0a0cac97ca
commit f155b0868c
7 changed files with 147 additions and 32 deletions
+21 -14
View File
@@ -1,24 +1,31 @@
#!/bin/sh
cd "$(dirname "$0")"
if [ ! -f "../.env" ]
then
echo "../.env file not found!"
exit 1
if [ -z $APP_PORT ]; then
APP_PORT="8080"
fi
export $(cat ../.env | sed 's/#.*//g' | xargs)
if [ -z $APP_HOST ]; then
for i in $(ifconfig -l 2>/dev/null); do
APP_HOST=$(ipconfig getifaddr $i)
if [ ! -z $APP_HOST ]; then
break
fi
done
if [ -z $APP_HOST ]; then
APP_HOST=$(hostname -i 2>/dev/null)
fi
fi
echo "Using app port: ${APP_PORT}"
echo "Using IP address: ${APP_HOST}"
docker run --rm -it \
--name="neko_rooms_client" \
-v "${PWD}/../client:/app" \
-e "TZ=${TZ}" \
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \
-l "traefik.enable=true" \
-l "traefik.http.services.neko-rooms-client-fe.loadbalancer.server.port=8080" \
-l "traefik.http.routers.neko-rooms-client.entrypoints=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" \
-l "traefik.http.routers.neko-rooms-client.rule=Host(\`${NEKO_ROOMS_TRAEFIK_DOMAIN}\`)" \
-p 8081:8080 \
-e "API_PROXY=http://${APP_HOST}:${APP_PORT}" \
--user="$(id -u):$(id -g)" \
--workdir="/app" \
--volume "${PWD}/../client:/app" \
--entrypoint="npm" \
--workdir="/app" \
node:14 run serve;
+35 -14
View File
@@ -1,13 +1,36 @@
#!/bin/sh
cd "$(dirname "$0")"
if [ ! -f "../.env" ]
then
echo "../.env file not found!"
exit 1
if [ -z $NEKO_ROOMS_PORT ]; then
NEKO_ROOMS_PORT="8080"
fi
export $(cat ../.env | sed 's/#.*//g' | xargs)
if [ -z $NEKO_ROOMS_EPR ]; then
NEKO_ROOMS_EPR="52090-52099"
fi
if [ -z $NEKO_ROOMS_NAT1TO1 ]; then
for i in $(ifconfig -l 2>/dev/null); do
NEKO_ROOMS_NAT1TO1=$(ipconfig getifaddr $i)
if [ ! -z $NEKO_ROOMS_NAT1TO1 ]; then
break
fi
done
if [ -z $NEKO_ROOMS_NAT1TO1 ]; then
NEKO_ROOMS_NAT1TO1=$(hostname -i 2>/dev/null)
fi
fi
NEKO_ROOMS_INSTANCE_NETWORK="neko-rooms-net"
docker network create --attachable "${NEKO_ROOMS_INSTANCE_NETWORK}";
trap on_exit EXIT
on_exit() {
echo "Removing neko-rooms network"
docker network rm "${NEKO_ROOMS_INSTANCE_NETWORK}";
}
DATA_PATH="./data"
mkdir -p "${DATA_PATH}"
@@ -17,24 +40,22 @@ mkdir -p "${EXTERNAL_PATH}"
docker run --rm -it \
--name="neko_rooms_server" \
-p "${NEKO_ROOMS_PORT}:8080" \
-v "`realpath ..`:/app" \
-v "`realpath ${DATA_PATH}`:/data" \
-e "TZ=${TZ}" \
-e "NEKO_ROOMS_EPR=${NEKO_ROOMS_EPR}" \
-e "NEKO_ROOMS_MUX=true" \
-e "NEKO_ROOMS_EPR=${NEKO_ROOMS_EPR}" \
-e "NEKO_ROOMS_NAT1TO1=${NEKO_ROOMS_NAT1TO1}" \
-e "NEKO_ROOMS_INSTANCE_URL=http://${NEKO_ROOMS_NAT1TO1}:${NEKO_ROOMS_PORT}/" \
-e "NEKO_ROOMS_INSTANCE_NETWORK=${NEKO_ROOMS_INSTANCE_NETWORK}" \
-e "NEKO_ROOMS_STORAGE_INTERNAL=/data" \
-e "NEKO_ROOMS_STORAGE_EXTERNAL=`realpath ${DATA_PATH}`" \
-e "NEKO_ROOMS_MOUNTS_WHITELIST=`realpath ${EXTERNAL_PATH}`" \
-e "NEKO_ROOMS_TRAEFIK_DOMAIN=${NEKO_ROOMS_TRAEFIK_DOMAIN}" \
-e "NEKO_ROOMS_TRAEFIK_ENTRYPOINT=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" \
-e "NEKO_ROOMS_TRAEFIK_NETWORK=${NEKO_ROOMS_TRAEFIK_NETWORK}" \
-e "NEKO_ROOMS_PATH_PREFIX=/room/" \
-e "NEKO_ROOMS_TRAEFIK_ENABLED=false" \
-e 'DOCKER_API_VERSION=1.39' \
-v "/var/run/docker.sock:/var/run/docker.sock" \
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \
-l "traefik.enable=true" \
-l "traefik.http.services.neko-rooms-server-fe.loadbalancer.server.port=8080" \
-l "traefik.http.routers.neko-rooms-server.entrypoints=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" \
-l "traefik.http.routers.neko-rooms-server.rule=Host(\`${NEKO_ROOMS_TRAEFIK_DOMAIN}\`) && PathPrefix(\`/api\`)" \
--net="${NEKO_ROOMS_INSTANCE_NETWORK}" \
--entrypoint="/app/bin/neko_rooms" \
neko_rooms_img serve --bind :8080;
+9
View File
@@ -0,0 +1,9 @@
NEKO_ROOMS_EPR=59000-59049
NEKO_ROOMS_NAT1TO1=192.168.1.20
NEKO_ROOMS_TRAEFIK_DOMAIN=neko-rooms.server.lan
NEKO_ROOMS_TRAEFIK_ENTRYPOINT=websecure
NEKO_ROOMS_TRAEFIK_NETWORK=neko-rooms-traefik
NEKO_ROOMS_TRAEFIK_CERTRESOLVER=lets-encrypt
TZ=Europe/Vienna
+11
View File
@@ -0,0 +1,11 @@
#!/bin/sh
cd "$(dirname "$0")"
set -e
docker run --rm -it \
-v "${PWD}/../../:/app" \
--entrypoint="go" \
neko_rooms_img build -o bin/neko_rooms cmd/neko_rooms/main.go
./start
+24
View File
@@ -0,0 +1,24 @@
#!/bin/sh
cd "$(dirname "$0")"
if [ ! -f ".env" ]
then
echo ".env file not found!"
exit 1
fi
export $(cat .env | sed 's/#.*//g' | xargs)
docker run --rm -it \
--name="neko_rooms_client" \
-v "${PWD}/../../client:/app" \
-e "TZ=${TZ}" \
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \
-l "traefik.enable=true" \
-l "traefik.http.services.neko-rooms-client-fe.loadbalancer.server.port=8080" \
-l "traefik.http.routers.neko-rooms-client.entrypoints=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" \
-l "traefik.http.routers.neko-rooms-client.rule=Host(\`${NEKO_ROOMS_TRAEFIK_DOMAIN}\`)" \
--user="$(id -u):$(id -g)" \
--workdir="/app" \
--entrypoint="npm" \
node:14 run serve;
+43
View File
@@ -0,0 +1,43 @@
#!/bin/sh
cd "$(dirname "$0")"
if [ ! -f ".env" ]
then
echo ".env file not found!"
exit 1
fi
export $(cat .env | sed 's/#.*//g' | xargs)
DATA_PATH="../data"
mkdir -p "${DATA_PATH}"
EXTERNAL_PATH="../ext"
mkdir -p "${EXTERNAL_PATH}"
docker run --rm -it \
--name="neko_rooms_server" \
-v "`realpath ../../`:/app" \
-v "`realpath ${DATA_PATH}`:/data" \
-e "TZ=${TZ}" \
-e "NEKO_ROOMS_EPR=${NEKO_ROOMS_EPR}" \
-e "NEKO_ROOMS_MUX=true" \
-e "NEKO_ROOMS_NAT1TO1=${NEKO_ROOMS_NAT1TO1}" \
-e "NEKO_ROOMS_PATH_PREFIX=/room/" \
-e "NEKO_ROOMS_ADMIN_PATH_PREFIX=/" \
-e "NEKO_ROOMS_STORAGE_INTERNAL=/data" \
-e "NEKO_ROOMS_STORAGE_EXTERNAL=`realpath ${DATA_PATH}`" \
-e "NEKO_ROOMS_MOUNTS_WHITELIST=`realpath ${EXTERNAL_PATH}`" \
-e "NEKO_ROOMS_TRAEFIK_ENABLED=true" \
-e "NEKO_ROOMS_TRAEFIK_DOMAIN=${NEKO_ROOMS_TRAEFIK_DOMAIN}" \
-e "NEKO_ROOMS_TRAEFIK_ENTRYPOINT=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" \
-e "NEKO_ROOMS_TRAEFIK_NETWORK=${NEKO_ROOMS_TRAEFIK_NETWORK}" \
-e 'DOCKER_API_VERSION=1.39' \
-v "/var/run/docker.sock:/var/run/docker.sock" \
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \
-l "traefik.enable=true" \
-l "traefik.http.services.neko-rooms-server-fe.loadbalancer.server.port=8080" \
-l "traefik.http.routers.neko-rooms-server.entrypoints=${NEKO_ROOMS_TRAEFIK_ENTRYPOINT}" \
-l "traefik.http.routers.neko-rooms-server.rule=Host(\`${NEKO_ROOMS_TRAEFIK_DOMAIN}\`) && (PathPrefix(\`/api\`) || PathPrefix(\`/room\`))" \
--entrypoint="/app/bin/neko_rooms" \
neko_rooms_img serve --bind :8080;
+4 -4
View File
@@ -1,13 +1,13 @@
#!/bin/sh
cd "$(dirname "$0")"
if [ ! -f "../.env" ]
if [ ! -f ".env" ]
then
echo "../.env file not found!"
echo ".env file not found!"
exit 1
fi
export $(cat ../.env | sed 's/#.*//g' | xargs)
export $(cat .env | sed 's/#.*//g' | xargs)
docker network create --attachable "${NEKO_ROOMS_TRAEFIK_NETWORK}";
@@ -22,7 +22,7 @@ docker run --rm -it \
--name="neko_rooms_traefik" \
-p "${1:-80}:80" \
-p "8080:8080" \
-v "${PWD}/../:/app" \
-v "${PWD}/../../:/app" \
-e "TZ=${TZ}" \
-v "/var/run/docker.sock:/var/run/docker.sock" \
--net="${NEKO_ROOMS_TRAEFIK_NETWORK}" \