85 lines
3.1 KiB
Bash
Executable File
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 ==="
|