94 lines
2.2 KiB
Bash
Executable File
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
|