initial COM2 system snapshot
This commit is contained in:
106
repos/hxki-inventory/chaos/install_caddy_falkenstein.sh
Executable file
106
repos/hxki-inventory/chaos/install_caddy_falkenstein.sh
Executable file
@@ -0,0 +1,106 @@
|
||||
#!/bin/bash
|
||||
set -euo pipefail
|
||||
|
||||
# ================================
|
||||
# HX-KI CADDY INSTALL (FALKENSTEIN)
|
||||
# ================================
|
||||
# Macht:
|
||||
# - /opt/hx-caddy anlegen
|
||||
# - docker-compose.yml + Caddyfile schreiben
|
||||
# - Caddy per Docker starten
|
||||
# - n8n.hx-ki.com -> Nürnberg:5678 routen
|
||||
# Bricht lieber ab, wenn Ports 80/443 schon belegt sind.
|
||||
|
||||
NBG_IP="46.224.17.53" # Nürnberg (Gehirn)
|
||||
N8N_DOMAIN="n8n.hx-ki.com" # Offizielle n8n-Subdomain
|
||||
CADDY_DIR="/opt/hx-caddy"
|
||||
|
||||
echo "==> Prüfe, ob Docker installiert ist ..."
|
||||
if ! command -v docker >/dev/null 2>&1; then
|
||||
echo "Docker ist nicht installiert. Abbruch."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Finde docker compose / docker-compose ..."
|
||||
if docker compose version >/dev/null 2>&1; then
|
||||
DC="docker compose"
|
||||
elif command -v docker-compose >/dev/null 2>&1; then
|
||||
DC="docker-compose"
|
||||
else
|
||||
echo "Weder 'docker compose' noch 'docker-compose' gefunden. Abbruch."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Prüfe, ob Ports 80/443 bereits belegt sind ..."
|
||||
if ss -tulpn 2>/dev/null | grep -qE ':(80|443)\s'; then
|
||||
echo "ACHTUNG: Ports 80 oder 443 sind bereits in Benutzung."
|
||||
echo "Ich mache NICHTS, um nichts zu zerschießen."
|
||||
echo
|
||||
ss -tulpn 2>/dev/null | grep -E ':(80|443)\s' || true
|
||||
echo
|
||||
echo "Bitte zuerst klären, welcher Dienst 80/443 nutzt (z.B. Mailcow/nginx),"
|
||||
echo "und dann entscheiden, ob Caddy davor/danach stehen soll."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "==> Erstelle Verzeichnis: $CADDY_DIR ..."
|
||||
mkdir -p "$CADDY_DIR"
|
||||
cd "$CADDY_DIR"
|
||||
|
||||
echo "==> Backup vorhandener Dateien (falls vorhanden) ..."
|
||||
for f in docker-compose.yml Caddyfile; do
|
||||
if [ -f "$f" ]; then
|
||||
cp "$f" "${f}.bak.$(date +%F-%H%M%S)"
|
||||
echo " Backup von $f -> ${f}.bak.$(date +%F-%H%M%S)"
|
||||
fi
|
||||
done
|
||||
|
||||
echo "==> Schreibe docker-compose.yml für Caddy ..."
|
||||
cat > docker-compose.yml <<EOF
|
||||
services:
|
||||
caddy:
|
||||
image: caddy:2
|
||||
restart: always
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
volumes:
|
||||
- ./Caddyfile:/etc/caddy/Caddyfile
|
||||
- caddy_data:/data
|
||||
- caddy_config:/config
|
||||
|
||||
volumes:
|
||||
caddy_data:
|
||||
caddy_config:
|
||||
EOF
|
||||
|
||||
echo "==> Schreibe Caddyfile (n8n-Proxy) ..."
|
||||
cat > Caddyfile <<EOF
|
||||
{
|
||||
# Optional: E-Mail für Let's Encrypt
|
||||
email admin@hx-ki.com
|
||||
}
|
||||
|
||||
${N8N_DOMAIN} {
|
||||
reverse_proxy ${NBG_IP}:5678
|
||||
}
|
||||
EOF
|
||||
|
||||
echo "==> Starte Caddy über Docker ..."
|
||||
$DC up -d
|
||||
|
||||
echo "==> Laufende Caddy-Container:"
|
||||
docker ps --format 'table {{.Names}}\t{{.Status}}\t{{.Ports}}' | grep caddy || true
|
||||
|
||||
echo
|
||||
echo "=================================================="
|
||||
echo "Caddy läuft jetzt (sofern keine Fehler gemeldet wurden)."
|
||||
echo
|
||||
echo "Wenn DNS korrekt gesetzt ist, solltest du n8n erreichen unter:"
|
||||
echo " https://${N8N_DOMAIN}"
|
||||
echo
|
||||
echo "WICHTIG:"
|
||||
echo "- Nürnberg (46.224.17.53:5678) liefert weiterhin deinen alten n8n-Workflow."
|
||||
echo "- Wir haben NICHTS auf Nürnberg/Helsinki verändert."
|
||||
echo "- Das hier ist nur der Türsteher auf Falkenstein."
|
||||
echo "=================================================="
|
||||
Reference in New Issue
Block a user