Zammad API nodes for Node-RED
This commit is contained in:
@@ -0,0 +1,50 @@
|
||||
#!/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"
|
||||
Reference in New Issue
Block a user