Files
nextcloud-nodered-zammad/bootstrap-install.sh
T

51 lines
1.6 KiB
Bash
Raw Normal View History

2026-10-14 23:17:40 +02:00
#!/usr/bin/env bash
set -euo pipefail
# Bootstrap installer for node-red-contrib-nextcloud-zammad
# Clones repo and integrates into existing nextcloud-node-red
REPO_URL="https://kode.hannesahlin.se/n3wk/nextcloud-nodered-zammad.git"
INSTALL_DIR="${INSTALL_DIR:-/opt/node-red-contrib-nextcloud-zammad}"
NODERED_DIR="${NODERED_DIR:-}"
echo "=== Nextcloud Zammad Node-RED Bootstrap Installer ==="
# Auto-detect nextcloud-node-red directory if not set
if [[ -z "$NODERED_DIR" ]]; then
for dir in \
"/opt/nextcloud-node-red" \
"/home/ncdeploy/nextcloud-node-red" \
"/root/nextcloud-node-red" \
"$(docker inspect -f '{{.Config.Labels}}' nextcloud-node-red 2>/dev/null | grep -o 'com.docker.compose.project.working_dir=[^ ]*' | cut -d= -f2)"; do
if [[ -n "$dir" && -d "$dir" && -f "$dir/Dockerfile" ]]; then
NODERED_DIR="$dir"
break
fi
done
fi
if [[ -z "$NODERED_DIR" ]]; then
echo "ERROR: Could not auto-detect nextcloud-node-red directory."
echo "Set NODERED_DIR environment variable."
exit 1
fi
echo "Target Node-RED: $NODERED_DIR"
# Clone or update repo
if [[ -d "$INSTALL_DIR/.git" ]]; then
echo "Updating existing repo..."
git -C "$INSTALL_DIR" pull --ff-only || echo "Pull failed, continuing with existing code..."
else
echo "Cloning repo..."
git clone --depth 1 "$REPO_URL" "$INSTALL_DIR"
fi
# Run integration
export NODERED_DIR
"$INSTALL_DIR/integrate-into-nodered.sh"
echo ""
echo "=== Bootstrap Complete ==="
echo "Rebuild with: cd $NODERED_DIR && docker compose build --no-cache && docker compose up -d"