#!/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 from env file if present if [[ -f "$ENV_FILE" ]]; then set -a; source "$ENV_FILE"; set +a; fi PROJECT="${COMPOSE_PROJECT_NAME:-argus-server}" 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 echo "[UNINSTALL] stopping compose (project=$PROJECT)" docker compose -p "$PROJECT" --env-file "$ENV_FILE" -f "$COMPOSE_FILE" down --remove-orphans || true echo "[UNINSTALL] done"