40-clients/ucepsa/edge-oee-demo/ops/manage_governance_review_ui_v0314.sh
2026-07-21 10:29:31 +02:00

94 lines
2.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
ACTION="${1:-status}"
RUNTIME_ROOT="${GOVERNANCE_UI_RUNTIME_ROOT:-/srv/mesavault/edge-oee-ucepsa}"
APP_ROOT="${GOVERNANCE_UI_APP_ROOT:-$RUNTIME_ROOT/governance-ui}"
CONTAINER="${GOVERNANCE_UI_CONTAINER:-mv_ucepsa_governance_ui}"
IMAGE="${GOVERNANCE_UI_IMAGE:-mesavault/ucepsa-governance-ui:0.3.14}"
NETWORK="${GOVERNANCE_UI_NETWORK:-mv_ucepsa_net}"
HOST_IP="${GOVERNANCE_UI_HOST_IP:-0.0.0.0}"
HOST_PORT="${GOVERNANCE_UI_HOST_PORT:-8091}"
BASE_ENV="${GOVERNANCE_UI_BASE_ENV:-$RUNTIME_ROOT/.env}"
UI_ENV="${GOVERNANCE_UI_ENV:-$APP_ROOT/.env}"
require_build_files() {
test -f "$APP_ROOT/Dockerfile"
test -f "$APP_ROOT/requirements.txt"
}
require_runtime_files() {
require_build_files
test -f "$UI_ENV"
test -f "$BASE_ENV"
}
build_image() {
require_build_files
docker build \
-t "$IMAGE" \
"$APP_ROOT"
}
start_container() {
require_runtime_files
docker rm -f "$CONTAINER" \
>/dev/null 2>&1 || true
docker run -d \
--name "$CONTAINER" \
--restart unless-stopped \
--network "$NETWORK" \
--env-file "$BASE_ENV" \
--env-file "$UI_ENV" \
-e "PGHOST=mv_ucepsa_postgres_hot" \
-e "TENANT_OVERRIDE=ucepsa" \
-e "SITE_OVERRIDE=ucepsa_onpremise" \
-p "${HOST_IP}:${HOST_PORT}:8080" \
"$IMAGE"
docker ps \
--format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' \
| grep -E "$CONTAINER|NAMES"
}
case "$ACTION" in
build)
build_image
;;
start)
start_container
;;
deploy)
build_image
start_container
;;
restart)
docker rm -f "$CONTAINER" \
>/dev/null 2>&1 || true
start_container
;;
stop)
docker stop "$CONTAINER"
;;
status)
docker ps -a \
--format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' \
| grep -E "$CONTAINER|NAMES"
;;
logs)
docker logs --tail 200 -f "$CONTAINER"
;;
health)
curl -fsS \
"http://127.0.0.1:${HOST_PORT}/health"
echo
;;
*)
echo \
"Uso: $0 {build|start|deploy|restart|stop|status|logs|health}" \
>&2
exit 2
;;
esac