n8n_node_librebooking/INSTALLATION.md

554 lines
11 KiB
Markdown

# Installationsanleitung - LibreBooking n8n Node
Diese Anleitung beschreibt alle verfügbaren Methoden zur Installation des LibreBooking n8n Nodes.
## Inhaltsverzeichnis
- [Voraussetzungen](#voraussetzungen)
- [Installation aus Git-Archiv](#installation-aus-git-archiv)
- [Methode 1: Automatische Installation mit Skript](#methode-1-automatische-installation-mit-skript)
- [Methode 2: Manuelle Installation mit npm](#methode-2-manuelle-installation-mit-npm)
- [Methode 3: Installation aus npm Registry](#methode-3-installation-aus-npm-registry)
- [Methode 4: Docker Installation](#methode-4-docker-installation)
- [Methode 5: n8n Community Nodes](#methode-5-n8n-community-nodes)
- [Verifizierung der Installation](#verifizierung-der-installation)
- [Troubleshooting](#troubleshooting)
- [Deinstallation](#deinstallation)
---
## Voraussetzungen
### Systemanforderungen
| Komponente | Mindestversion | Empfohlen |
|------------|---------------|-----------|
| Node.js | 18.x | 20.x LTS |
| npm | 8.x | 10.x |
| n8n | 1.0.0 | Neueste |
### Node.js installieren
**Linux (Ubuntu/Debian):**
```bash
# Mit NodeSource Repository (empfohlen)
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs
# Version prüfen
node --version
npm --version
```
**macOS:**
```bash
# Mit Homebrew
brew install node@20
# Version prüfen
node --version
npm --version
```
**Windows:**
1. Lade Node.js von https://nodejs.org/ herunter
2. Wähle die LTS-Version (20.x)
3. Führe den Installer aus
4. Öffne PowerShell und prüfe: `node --version`
### n8n installieren
```bash
# Global installieren
npm install -g n8n
# Installation prüfen
n8n --version
```
---
## Installation aus Git-Archiv
### Archiv herunterladen
1. **GitHub Release herunterladen:**
```bash
# .tar.gz für Linux/Mac
wget https://github.com/DEIN-REPO/n8n-nodes-librebooking/releases/latest/download/n8n-nodes-librebooking.tar.gz
# .zip für Windows
# Über Browser herunterladen
```
2. **Oder direkt von Git:**
```bash
git clone https://github.com/DEIN-REPO/n8n-nodes-librebooking.git
cd n8n-nodes-librebooking
```
### Archiv entpacken
**Linux/macOS:**
```bash
# .tar.gz entpacken
tar -xzf n8n-nodes-librebooking.tar.gz
cd n8n-nodes-librebooking
```
**Windows (PowerShell):**
```powershell
# .zip entpacken
Expand-Archive -Path n8n-nodes-librebooking.zip -DestinationPath .
cd n8n-nodes-librebooking
```
---
## Methode 1: Automatische Installation mit Skript
Die einfachste Methode für die meisten Benutzer.
### Linux/macOS
```bash
# In das Verzeichnis wechseln
cd n8n-nodes-librebooking
# Skript ausführbar machen (falls nötig)
chmod +x install.sh
# Installation starten
./install.sh
```
**Optionen:**
```bash
./install.sh # Standard-Installation mit npm link
./install.sh --no-link # Nur Build, ohne npm link
./install.sh --global # Globale Installation
./install.sh --help # Hilfe anzeigen
```
### Windows (PowerShell)
```powershell
# In das Verzeichnis wechseln
cd n8n-nodes-librebooking
# Skript ausführen (evtl. Ausführungsrichtlinie anpassen)
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass
.\install.ps1
```
**Optionen:**
```powershell
.\install.ps1 # Standard-Installation mit npm link
.\install.ps1 -NoLink # Nur Build, ohne npm link
.\install.ps1 -Global # Globale Installation
.\install.ps1 -Help # Hilfe anzeigen
```
---
## Methode 2: Manuelle Installation mit npm
Für Benutzer, die mehr Kontrolle über den Installationsprozess möchten.
### Schritt 1: Dependencies installieren
```bash
cd n8n-nodes-librebooking
npm install
```
### Schritt 2: TypeScript kompilieren
```bash
npm run build
```
### Schritt 3: Node verlinken
```bash
# Node global verfügbar machen
npm link
# Mit n8n verlinken (optional, falls n8n global installiert ist)
cd $(npm root -g)/n8n
npm link n8n-nodes-librebooking
```
### Schritt 4: n8n neu starten
```bash
# n8n stoppen (falls läuft)
# Ctrl+C oder:
pkill -f n8n
# n8n starten
n8n start
```
---
## Methode 3: Installation aus npm Registry
> **Hinweis:** Diese Methode ist für eine zukünftige Veröffentlichung auf npm vorgesehen.
```bash
# Global installieren
npm install -g n8n-nodes-librebooking
# Oder lokal in einem Projekt
npm install n8n-nodes-librebooking
```
Nach der Veröffentlichung auf npm wird diese Methode die einfachste sein.
---
## Methode 4: Docker Installation
### Voraussetzungen für Docker
- Docker 20.x oder höher
- Docker Compose v2.x (empfohlen)
**Docker installieren:**
- Linux: https://docs.docker.com/engine/install/
- macOS: https://docs.docker.com/desktop/mac/install/
- Windows: https://docs.docker.com/desktop/windows/install/
### Mit docker-compose (empfohlen)
```bash
cd n8n-nodes-librebooking
# Umgebungsvariablen konfigurieren (optional)
cp .env.example .env
# .env Datei bearbeiten
# Container bauen und starten
docker-compose up -d
# Logs anzeigen
docker-compose logs -f
# Status prüfen
docker-compose ps
```
**Umgebungsvariablen (`.env`):**
```env
# n8n Authentifizierung
N8N_BASIC_AUTH_USER=admin
N8N_BASIC_AUTH_PASSWORD=sicheres-passwort-hier
# Webhook-URL (für Produktion)
WEBHOOK_URL=https://n8n.deine-domain.de/
# Zeitzone
TZ=Europe/Berlin
# Log-Level (debug, info, warn, error)
N8N_LOG_LEVEL=info
```
**Nützliche docker-compose Befehle:**
```bash
# Stoppen
docker-compose down
# Neu bauen (nach Änderungen)
docker-compose build --no-cache
# Neustart
docker-compose restart
# Logs eines bestimmten Services
docker-compose logs -f n8n
# In Container Shell
docker-compose exec n8n sh
```
### Mit Docker direkt
```bash
cd n8n-nodes-librebooking
# Image bauen
docker build -t n8n-librebooking .
# Container starten
docker run -d \
--name n8n-librebooking \
-p 5678:5678 \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=admin \
-e N8N_BASIC_AUTH_PASSWORD=changeme \
-e GENERIC_TIMEZONE=Europe/Berlin \
-v n8n_data:/home/node/.n8n \
n8n-librebooking
```
**Container verwalten:**
```bash
# Logs anzeigen
docker logs -f n8n-librebooking
# Stoppen
docker stop n8n-librebooking
# Starten
docker start n8n-librebooking
# Entfernen
docker rm -f n8n-librebooking
# Image entfernen
docker rmi n8n-librebooking
```
### Volumes und Konfiguration
**Wichtige Volumes:**
| Volume/Pfad | Beschreibung |
|-------------|--------------|
| `/home/node/.n8n` | n8n Datenverzeichnis (Workflows, Credentials) |
| `/home/node/.n8n/custom` | Custom Nodes |
| `/home/node/workflows` | Beispiel-Workflows (read-only) |
**Daten sichern:**
```bash
# Mit docker-compose
docker-compose exec n8n tar -czf /tmp/backup.tar.gz /home/node/.n8n
docker cp n8n-librebooking:/tmp/backup.tar.gz ./backup.tar.gz
# Ohne docker-compose
docker cp n8n-librebooking:/home/node/.n8n ./n8n-backup
```
**Daten wiederherstellen:**
```bash
docker cp ./n8n-backup/. n8n-librebooking:/home/node/.n8n/
docker-compose restart
```
---
## Methode 5: n8n Community Nodes
> **Hinweis:** Diese Methode wird verfügbar sein, sobald der Node im n8n Community Node Repository veröffentlicht ist.
1. Öffne n8n im Browser
2. Gehe zu **Settings****Community Nodes**
3. Klicke auf **Install a community node**
4. Gib ein: `n8n-nodes-librebooking`
5. Klicke auf **Install**
6. Starte n8n neu
---
## Verifizierung der Installation
### 1. n8n starten
```bash
# Lokal
n8n start
# Mit Docker
docker-compose up -d
```
### 2. Browser öffnen
Öffne http://localhost:5678 im Browser.
### 3. Node suchen
1. Erstelle einen neuen Workflow
2. Klicke auf das **+** Symbol
3. Suche nach "LibreBooking"
4. Du solltest zwei Nodes sehen:
- **LibreBooking** (für API-Operationen)
- **LibreBooking Trigger** (für Events)
### 4. Credentials einrichten
1. Klicke auf einen LibreBooking Node
2. Unter "Credentials" klicke auf **Create New**
3. Wähle **LibreBooking API**
4. Fülle aus:
- **URL:** Deine LibreBooking URL (z.B. `https://booking.example.com/Web/Services`)
- **Username:** Dein Admin-Benutzername
- **Password:** Dein Passwort
5. Klicke auf **Save**
6. Teste die Verbindung
---
## Troubleshooting
### Häufige Probleme
#### Node wird nicht angezeigt
**Problem:** Der LibreBooking Node erscheint nicht in n8n.
**Lösungen:**
```bash
# 1. Prüfe, ob der Build erfolgreich war
ls -la dist/
# 2. Prüfe npm link Status
npm ls -g --depth=0 | grep librebooking
# 3. n8n Custom Extensions Pfad prüfen
echo $N8N_CUSTOM_EXTENSIONS
# 4. n8n komplett neu starten
pkill -f n8n
n8n start
```
#### Build-Fehler
**Problem:** `npm run build` schlägt fehl.
**Lösungen:**
```bash
# Node.js Version prüfen
node --version # Sollte >= 18 sein
# node_modules löschen und neu installieren
rm -rf node_modules
npm install
# TypeScript-Fehler anzeigen
npx tsc --noEmit
```
#### npm link Probleme
**Problem:** `npm link` funktioniert nicht.
**Lösungen:**
```bash
# Als Admin/Root ausführen (Linux/Mac)
sudo npm link
# Windows: PowerShell als Administrator starten
# Alternativer Pfad für Custom Nodes
export N8N_CUSTOM_EXTENSIONS=$(pwd)
n8n start
```
#### Docker-Probleme
**Problem:** Container startet nicht.
**Lösungen:**
```bash
# Logs prüfen
docker-compose logs n8n
# Container-Status prüfen
docker-compose ps
# Neu bauen
docker-compose build --no-cache
docker-compose up -d
```
#### Credential-Fehler
**Problem:** "Authentication failed" bei Verbindung.
**Lösungen:**
1. Prüfe LibreBooking URL (inkl. `/Web/Services`)
2. Prüfe Benutzername und Passwort
3. Prüfe ob API in LibreBooking aktiviert ist:
- Admin → Konfiguration → API aktivieren
4. Teste API manuell:
```bash
curl -X POST "https://dein-server/Web/Services/Authentication/Authenticate" \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"password"}'
```
### Logs und Debugging
**n8n Logs aktivieren:**
```bash
# Umgebungsvariable setzen
export N8N_LOG_LEVEL=debug
n8n start
# Mit Docker
docker-compose exec n8n sh -c "N8N_LOG_LEVEL=debug n8n start"
```
**Node-spezifische Logs:**
In n8n Workflow-Ausführungen werden Details angezeigt unter "Execution Data".
---
## Deinstallation
### npm link entfernen
```bash
# Im Projektverzeichnis
npm unlink
# Global entfernen
npm unlink -g n8n-nodes-librebooking
```
### Global installiertes Paket entfernen
```bash
npm uninstall -g n8n-nodes-librebooking
```
### Docker entfernen
```bash
# Container und Volumes entfernen
docker-compose down -v
# Images entfernen
docker rmi n8n-librebooking
docker rmi n8nio/n8n
```
### Projektverzeichnis löschen
```bash
# Verzeichnis löschen
rm -rf n8n-nodes-librebooking
# Archiv löschen
rm n8n-nodes-librebooking.tar.gz
rm n8n-nodes-librebooking.zip
```
---
## Support
Bei Fragen oder Problemen:
1. **GitHub Issues:** [Hier Issues erstellen](https://github.com/DEIN-REPO/n8n-nodes-librebooking/issues)
2. **Dokumentation:** Siehe [README.md](README.md)
3. **LibreBooking API:** https://www.bookedscheduler.com/help/api/
---
*Letzte Aktualisierung: Januar 2026*