#!/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 :/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 ""