Files
hx-ki.com2/com2_remove_grafana.sh
2026-03-06 15:22:40 +00:00

39 lines
1.1 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
cd /opt/hx-ki/com2-stack
F="docker-compose.yml"
[ -f "$F" ] || { echo "FEHLT: /opt/hx-ki/com2-stack/$F"; exit 1; }
echo "=== COM2: REMOVE GRAFANA ==="
# Stop/Remove nur über Compose (Orchester-Prinzip)
docker compose down
# Entferne Service-Block "grafana:" (YAML-Block)
python3 - <<'PY'
import re, pathlib
p = pathlib.Path("/opt/hx-ki/com2-stack/docker-compose.yml")
s = p.read_text()
# Serviceblock grafana (unter services:) entfernen
# simpel & deterministisch: von " grafana:" bis zum nächsten " <service>:" auf gleicher Einrückung
s2 = re.sub(r'(?ms)^\s{2}grafana:\s*\n(?:^\s{4}.*\n|^\s{6}.*\n|^\s{8}.*\n|^\s*\n)*?(?=^\s{2}[A-Za-z0-9_.-]+:\s*$|\Z)', '', s)
# Volume grafana_data entfernen (unter volumes:)
s2 = re.sub(r'(?ms)^\s{2}grafana_data:\s*\n(?:^\s{4}.*\n|^\s*\n)*?(?=^\s{2}[A-Za-z0-9_.-]+:\s*$|\Z)', '', s2)
p.write_text(s2)
print("OK: grafana service/volume entfernt (falls vorhanden).")
PY
echo "[VALIDATE]"
docker compose config >/dev/null
echo "OK: Compose valide."
echo "[UP]"
docker compose up -d --remove-orphans
echo "=== DONE ==="
docker ps --format 'NAME={{.Names}} STATUS={{.Status}}'