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

85 lines
3.1 KiB
Bash
Executable File

#!/usr/bin/env bash
# HXKI · COM2 QUICK FIX
# Fix-Punkte:
# - hxki-n8n: falls möglich ans hxki-internal hängen
# - hxki-caddy: nur starten, wenn Port 80 frei ist, dann ans hxki-internal hängen
# - nix wird gelöscht, nix wird „neu erfunden“
set -euo pipefail
echo "=== HXKI · COM2 QUICK FIX ==="
# 0) Basis-Check: hxki-internal vorhanden?
if ! docker network ls --format '{{.Name}}' | grep -q '^hxki-internal$'; then
echo "ERROR: Docker-Netzwerk 'hxki-internal' existiert nicht auf diesem Server."
exit 1
fi
echo
echo "=== [1] Container-Status ==="
docker ps -a --format 'NAME={{.Names}} STATUS={{.Status}} PORTS={{.Ports}}'
echo
echo "=== [2] hxki-n8n → Netzwerk prüfen/verbinden ==="
if docker ps -a --format '{{.Names}}' | grep -q '^hxki-n8n$'; then
n8n_state="$(docker inspect -f '{{.State.Status}}' hxki-n8n || echo 'unknown')"
echo "hxki-n8n State: $n8n_state"
in_net="$(docker network inspect hxki-internal --format '{{range $id,$c := .Containers}}{{println $c.Name}}{{end}}' | grep -c '^hxki-n8n$' || true)"
if [[ "$in_net" -eq 0 ]]; then
echo "→ Versuche, hxki-n8n an hxki-internal zu hängen ..."
if docker network connect hxki-internal hxki-n8n 2>/tmp/hxki_n8n_net_err.log; then
echo "OK: hxki-n8n ist jetzt im Netzwerk hxki-internal."
else
echo "WARNUNG: Konnte hxki-n8n nicht ins Netzwerk hängen."
echo "Details:"
cat /tmp/hxki_n8n_net_err.log
echo "Hinweis: Wenn die Meldung 'network sandbox ... not found' kommt,"
echo " ist der Container intern kaputt → neu deployen (per docker-compose),"
echo " die Daten liegen in /data/HXKI_WORKSPACE und gehen dabei nicht verloren."
fi
else
echo "OK: hxki-n8n ist bereits im Netzwerk hxki-internal."
fi
else
echo "INFO: Kein Container 'hxki-n8n' vorhanden."
fi
echo
echo "=== [3] Port 80 Analyse für hxki-caddy ==="
if ss -tulpen | grep -q ':80'; then
echo "Port 80 ist BELEGT. Besitzer:"
ss -tulpen | grep ':80' || true
echo
echo "→ Starte hxki-caddy NICHT automatisch, um nichts kaputt zu machen."
echo " Du musst entscheiden, ob der Dienst auf Port 80 abgeschaltet werden darf."
else
echo "Port 80 scheint FREI."
if docker ps -a --format '{{.Names}}' | grep -q '^hxki-caddy$'; then
echo "→ Versuche, hxki-caddy zu starten ..."
if docker start hxki-caddy 2>/tmp/hxki_caddy_start_err.log; then
echo "OK: hxki-caddy gestartet."
echo "→ Versuche, hxki-caddy an hxki-internal zu hängen ..."
if docker network connect hxki-internal hxki-caddy 2>/tmp/hxki_caddy_net_err.log; then
echo "OK: hxki-caddy ist jetzt im Netzwerk hxki-internal."
else
echo "WARNUNG: Konnte hxki-caddy nicht ins Netzwerk hängen."
cat /tmp/hxki_caddy_net_err.log
fi
else
echo "WARNUNG: hxki-caddy konnte nicht gestartet werden."
cat /tmp/hxki_caddy_start_err.log
fi
else
echo "INFO: Kein Container 'hxki-caddy' vorhanden."
fi
fi
echo
echo "=== [4] Mitglieder von hxki-internal ==="
docker network inspect hxki-internal --format '{{range $id,$c := .Containers}}{{println $c.Name}}{{end}}'
echo
echo "=== ENDE · HXKI COM2 QUICK FIX ==="