Files
2025-11-11 11:47:15 +01:00

63 lines
1.3 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
ensure_root
detect_pkg_manager
pkg_install curl
BASE="/srv/docker/services/node-red"
$SUDO mkdir -p "$BASE/data"
cd "$BASE"
echo "Starte Installation von Node-RED..."
# Funktion: finde den nächsten freien Port ab 1880
find_free_port() {
PORT=1880
while ss -lnt | awk '{print $4}' | grep -q ":$PORT$"; do
PORT=$((PORT + 1))
done
echo "$PORT"
}
FREE_PORT=$(find_free_port)
echo "✅ Freier Port für Node-RED gefunden: $FREE_PORT"
$SUDO tee docker-compose.yml >/dev/null <<EOF
services:
node-red:
image: nodered/node-red:latest
container_name: node-red-$FREE_PORT
restart: unless-stopped
ports:
- "$FREE_PORT:1880"
volumes:
- ./data:/data
environment:
TZ=Europe/Berlin
EOF
$SUDO docker compose up -d
log "Node-RED wurde installiert."
log "Web UI: http://<server-ip>:$FREE_PORT"
log "Konfiguration / Flows: $BASE/data/"
echo ""
read -p "Soll ein NGINX Proxy-Pfad eingerichtet werden? (y/n): " PROXY
if [[ "$PROXY" == "y" || "$PROXY" == "Y" ]]; then
PROXY_SCRIPT="/srv/docker/system/nginx-proxy-path/install.sh"
if [ ! -f "$PROXY_SCRIPT" ]; then
log "Fehler: nginx-proxy-path nicht installiert."
log "Bitte zuerst das Rezept 'nginx-proxy-path' installieren."
exit 0
fi
echo ""
echo "Bitte Proxy-Pfad einrichten:"
bash "$PROXY_SCRIPT"
fi