Co-authored-by: sundapeng <sundp@mail.zgclab.edu.cn> Co-authored-by: xuxt <xuxt@zgclab.edu.cn> Reviewed-on: #52
37 lines
1.3 KiB
Bash
37 lines
1.3 KiB
Bash
#!/usr/bin/env bash
|
||
set -euo pipefail
|
||
|
||
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||
PKG_ROOT="$ROOT_DIR"
|
||
ENV_FILE="$PKG_ROOT/compose/.env"
|
||
COMPOSE_FILE="$PKG_ROOT/compose/docker-compose.yml"
|
||
|
||
# load COMPOSE_PROJECT_NAME if provided in compose/.env
|
||
if [[ -f "$ENV_FILE" ]]; then set -a; source "$ENV_FILE"; set +a; fi
|
||
PROJECT="${COMPOSE_PROJECT_NAME:-argus-client}"
|
||
|
||
info(){ echo -e "\033[34m[UNINSTALL-GPU]\033[0m $*"; }
|
||
err(){ echo -e "\033[31m[ERROR]\033[0m $*" >&2; }
|
||
# Compose 检测:优先 docker compose(v2),回退 docker-compose(v1)
|
||
require_compose(){
|
||
if docker compose version >/dev/null 2>&1; then return 0; fi
|
||
if command -v docker-compose >/dev/null 2>&1 && docker-compose version >/dev/null 2>&1; then return 0; fi
|
||
err "未检测到 Docker Compose,请安装 docker compose v2 或 docker-compose v1"; exit 1
|
||
}
|
||
require_compose
|
||
|
||
if [[ -f "$ENV_FILE" ]]; then
|
||
info "stopping compose project (project=$PROJECT)"
|
||
docker compose -p "$PROJECT" --env-file "$ENV_FILE" -f "$COMPOSE_FILE" down --remove-orphans || true
|
||
else
|
||
info "compose/.env not found; attempting to remove container by name"
|
||
fi
|
||
|
||
# remove warmup container if still running
|
||
docker rm -f argus-net-warmup >/dev/null 2>&1 || true
|
||
|
||
# remove node container if present
|
||
docker rm -f argus-metric-gpu-node-swarm >/dev/null 2>&1 || true
|
||
|
||
info "uninstall completed"
|