NODEDC_PLATFORM/infra/synology/tasker-overlays/logo-link-brand-hotfix/files/rebuild-nas-legacy.sh

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"