24 lines
993 B
Bash
24 lines
993 B
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 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"
|