n8n_node_librebooking/update-node.sh

62 lines
1.7 KiB
Bash
Executable File

#!/bin/bash
# ============================================================================
# update-node.sh - Aktualisiert den LibreBooking n8n Node
#
# Verwendung nach git pull oder Änderungen am Code
# ============================================================================
set -e
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m'
CONTAINER_NAME="${1:-n8n}"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
echo -e "${GREEN}=== LibreBooking Node Update ===${NC}\n"
cd "$SCRIPT_DIR"
# Git Pull (optional)
if [ -d ".git" ]; then
echo "[1/5] Hole neueste Änderungen..."
git pull 2>/dev/null || echo -e "${YELLOW}Git pull übersprungen${NC}"
else
echo "[1/5] Kein Git Repository - übersprungen"
fi
# Dependencies aktualisieren
echo "[2/5] Aktualisiere Dependencies..."
npm install --silent
# Bauen
echo "[3/5] Baue Node..."
npm run build --silent
# Prüfe Container
if ! docker ps | grep -q "$CONTAINER_NAME"; then
echo -e "${YELLOW}Container '$CONTAINER_NAME' nicht gefunden.${NC}"
echo "Verfügbare Container:"
docker ps --format " {{.Names}}"
echo ""
echo "Manuell kopieren:"
echo " docker cp dist <container>:/home/node/.n8n/custom/n8n-nodes-librebooking/"
exit 0
fi
# In Container kopieren
echo "[4/5] Kopiere in Container '$CONTAINER_NAME'..."
docker cp dist "$CONTAINER_NAME":/home/node/.n8n/custom/n8n-nodes-librebooking/
docker cp package.json "$CONTAINER_NAME":/home/node/.n8n/custom/n8n-nodes-librebooking/
docker cp node_modules "$CONTAINER_NAME":/home/node/.n8n/custom/n8n-nodes-librebooking/
# Container neustarten
echo "[5/5] Starte Container neu..."
docker restart "$CONTAINER_NAME"
echo ""
echo -e "${GREEN}✓ Update abgeschlossen!${NC}"
echo ""