85 lines
2.4 KiB
Bash
Executable File
85 lines
2.4 KiB
Bash
Executable File
#!/bin/sh
|
|
set -eu
|
|
|
|
DOCKER=/usr/local/bin/docker
|
|
SRC=/volume1/docker/nodedc-platform/tasker/plane-src
|
|
APP=/volume1/docker/nodedc-platform/tasker/plane-app
|
|
BUILD_BACKEND=${BUILD_BACKEND:-1}
|
|
BUILD_WEB=${BUILD_WEB:-1}
|
|
BUILD_ADMIN=${BUILD_ADMIN:-0}
|
|
RECREATE_SERVICES=""
|
|
|
|
printf "== sudo session ==\n"
|
|
sudo -v
|
|
|
|
if [ "$BUILD_BACKEND" = "1" ]; then
|
|
printf "== backend image: nodedc/plane-backend:local ==\n"
|
|
cd "$SRC/apps/api"
|
|
sudo DOCKER_BUILDKIT=0 "$DOCKER" build \
|
|
-t nodedc/plane-backend:local \
|
|
-f Dockerfile.api .
|
|
RECREATE_SERVICES="$RECREATE_SERVICES api worker beat-worker"
|
|
else
|
|
printf "== skip backend image ==\n"
|
|
fi
|
|
|
|
if [ "$BUILD_WEB" = "1" ]; then
|
|
printf "== frontend image: nodedc/plane-frontend:ru ==\n"
|
|
cd "$SRC"
|
|
sudo DOCKER_BUILDKIT=0 "$DOCKER" build \
|
|
--build-arg VITE_NODEDC_LAUNCHER_URL=https://hub.nodedc.ru \
|
|
--build-arg VITE_NODEDC_OIDC_LOGIN_ENABLED=1 \
|
|
-t nodedc/plane-frontend:ru \
|
|
-f apps/web/Dockerfile.web.nas-legacy .
|
|
RECREATE_SERVICES="$RECREATE_SERVICES web"
|
|
else
|
|
printf "== skip frontend image ==\n"
|
|
fi
|
|
|
|
if [ "$BUILD_ADMIN" = "1" ]; then
|
|
printf "== admin image: nodedc/plane-admin:ru ==\n"
|
|
cd "$SRC"
|
|
sudo DOCKER_BUILDKIT=1 "$DOCKER" build \
|
|
--build-arg VITE_NODEDC_LAUNCHER_URL=https://hub.nodedc.ru \
|
|
-t nodedc/plane-admin:ru \
|
|
-f apps/admin/Dockerfile.admin .
|
|
RECREATE_SERVICES="$RECREATE_SERVICES admin"
|
|
else
|
|
printf "== skip admin image ==\n"
|
|
fi
|
|
|
|
if [ -z "$RECREATE_SERVICES" ]; then
|
|
printf "== nothing to recreate ==\n"
|
|
exit 0
|
|
fi
|
|
|
|
printf "== recreate tasker services ==\n"
|
|
cd "$APP"
|
|
sudo "$DOCKER" compose -p nodedc-tasker \
|
|
--env-file .env.synology \
|
|
-f docker-compose.yaml \
|
|
-f docker-compose.synology.override.yml \
|
|
up -d --no-build --force-recreate $RECREATE_SERVICES
|
|
|
|
printf "== containers ==\n"
|
|
sudo "$DOCKER" ps \
|
|
--filter "name=nodedc-tasker" \
|
|
--format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"
|
|
|
|
printf "== smoke: logo ==\n"
|
|
curl -k -sSI --resolve ops.nodedc.ru:443:127.0.0.1 \
|
|
https://ops.nodedc.ru/nodedc-logo.svg \
|
|
| grep -Ei "HTTP/|content-type" || true
|
|
|
|
printf "== smoke: websocket ==\n"
|
|
curl -k -i --http1.1 --resolve ops.nodedc.ru:443:127.0.0.1 \
|
|
-H "Connection: Upgrade" \
|
|
-H "Upgrade: websocket" \
|
|
-H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" \
|
|
-H "Sec-WebSocket-Version: 13" \
|
|
https://ops.nodedc.ru/live/nodedc/stream \
|
|
--max-time 35 \
|
|
2>/dev/null | sed -n "1,25p" || true
|
|
|
|
printf "== done ==\n"
|