# Manuelle Installation im Docker Container Diese Anleitung beschreibt, wie Sie den LibreBooking Node manuell im Docker Container installieren, wenn die Dateien bereits kopiert wurden, aber der Node nicht in n8n erscheint. --- ## Situation Sie haben die Dateien in den Container kopiert (z.B. nach `/opt/n8n/custom-nodes` oder `/home/node/.n8n/custom/n8n-nodes-librebooking`), aber: - Der LibreBooking Node erscheint nicht in der n8n Node-Suche - Die TypeScript-Dateien wurden nicht kompiliert - Das `dist/` Verzeichnis fehlt oder ist leer --- ## Diagnose ### Schnell-Check mit einem Befehl ```bash # Prüft Dateien und Status im Container docker exec n8n sh -c "ls -la /home/node/.n8n/custom/*/dist/ 2>/dev/null || echo 'dist/ nicht gefunden'" ``` ### Ausführlicher Check mit Skript ```bash # Check-Skript in Container kopieren und ausführen docker cp check-installation.sh n8n:/tmp/ docker exec n8n sh /tmp/check-installation.sh ``` ### Manuell im Container prüfen ```bash # In den Container einloggen docker exec -it n8n sh # Prüfen, was vorhanden ist ls -la /home/node/.n8n/custom/ ls -la /home/node/.n8n/custom/n8n-nodes-librebooking/ # Umgebungsvariablen prüfen env | grep N8N # Container verlassen exit ``` --- ## Lösung 1: Automatisch mit Skript (empfohlen) Das einfachste ist das All-in-One-Skript: ```bash # Auf dem Host ausführen ./fix-node-installation.sh ``` Oder mit spezifischem Container-Namen: ```bash ./fix-node-installation.sh -c mein-n8n-container ``` ### Alternative: Nur das Installations-Skript ```bash # Skript in Container kopieren docker cp install-in-container.sh n8n:/tmp/ # Skript im Container ausführen docker exec -it n8n sh /tmp/install-in-container.sh # Container neustarten docker restart n8n ``` --- ## Lösung 2: Manuelle Schritte im Container ### Schritt 1: In den Container einloggen ```bash docker exec -it n8n sh ``` ### Schritt 2: Zum Custom-Node-Verzeichnis wechseln ```bash # Standard-Pfad (offizielles n8n Image) cd /home/node/.n8n/custom/n8n-nodes-librebooking # Oder falls an anderem Ort: cd /opt/n8n/custom-nodes # oder cd /data/custom-nodes ``` ### Schritt 3: Prüfen ob Dateien vorhanden sind ```bash ls -la # Sollte zeigen: package.json, tsconfig.json, nodes/, credentials/ ``` ### Schritt 4: Dependencies installieren ```bash npm install ``` Erwartete Ausgabe: ``` added 50 packages in 10s ``` ### Schritt 5: Node kompilieren ```bash npm run build ``` Erwartete Ausgabe: ``` > n8n-nodes-librebooking@1.0.0 build > tsc && npm run copy:icons ``` ### Schritt 6: Prüfen ob Build erfolgreich war ```bash ls -la dist/ ls -la dist/nodes/LibreBooking/ ``` Sollte zeigen: - `dist/nodes/LibreBooking/LibreBooking.node.js` - `dist/nodes/LibreBookingTrigger/LibreBookingTrigger.node.js` - `dist/credentials/LibreBookingApi.credentials.js` ### Schritt 7: Container verlassen und neustarten ```bash # Container verlassen exit # Container neustarten (auf dem Host) docker restart n8n ``` --- ## Lösung 3: Direkt mit docker exec (Ein-Befehl-Lösung) Wenn Sie schnell zum Ziel kommen wollen: ```bash # Alles in einem Befehl docker exec n8n sh -c "cd /home/node/.n8n/custom/n8n-nodes-librebooking && npm install && npm run build" # Container neustarten docker restart n8n ``` Für anderen Pfad: ```bash docker exec n8n sh -c "cd /opt/n8n/custom-nodes && npm install && npm run build" docker restart n8n ``` --- ## Verifizierung ### 1. Logs prüfen ```bash # Nach LibreBooking in den Logs suchen docker logs n8n 2>&1 | grep -i "librebooking\|custom\|node" ``` ### 2. In n8n prüfen 1. Öffnen Sie n8n im Browser (z.B. `http://localhost:5678`) 2. Erstellen Sie einen neuen Workflow oder öffnen Sie einen bestehenden 3. Klicken Sie auf `+` um einen neuen Node hinzuzufügen 4. Suchen Sie nach "LibreBooking" 5. Es sollten zwei Nodes erscheinen: - **LibreBooking** - Hauptnode für alle Operationen - **LibreBooking Trigger** - Trigger für Reservierungen ### 3. Node-Dateien im Container prüfen ```bash # Prüfe ob .node.js Dateien existieren docker exec n8n find /home/node/.n8n/custom -name "*.node.js" 2>/dev/null ``` --- ## Troubleshooting ### Problem: npm nicht gefunden **Symptom:** ``` sh: npm: not found ``` **Lösung:** Das verwendete Docker-Image enthält kein npm. Verwenden Sie ein Image mit Node.js: ```bash # Prüfen Sie das Image docker inspect n8n --format='{{.Config.Image}}' # Das offizielle n8n Image (n8nio/n8n) enthält npm # Falls Sie ein minimales Image verwenden, wechseln Sie zu n8nio/n8n ``` ### Problem: Permission denied **Symptom:** ``` EACCES: permission denied npm ERR! could not create a lockfile ``` **Lösung:** n8n läuft als User `node` (UID 1000). Setzen Sie die Berechtigungen: ```bash # Auf dem Host (vor dem Kopieren) sudo chown -R 1000:1000 custom-nodes/ # Oder im Container als root docker exec -u root n8n chown -R node:node /home/node/.n8n/custom/ ``` ### Problem: Build schlägt fehl **Symptom:** ``` error TS2307: Cannot find module 'n8n-workflow' ``` **Lösung:** ```bash # Im Container cd /home/node/.n8n/custom/n8n-nodes-librebooking rm -rf node_modules package-lock.json npm install npm run build ``` ### Problem: Node erscheint nach Neustart immer noch nicht **Mögliche Ursachen:** 1. **Falscher Pfad**: N8N_CUSTOM_EXTENSIONS zeigt nicht auf das richtige Verzeichnis ```bash docker exec n8n env | grep N8N_CUSTOM # Sollte zeigen: N8N_CUSTOM_EXTENSIONS=/home/node/.n8n/custom ``` 2. **package.json n8n-Sektion fehlt**: Die `n8n` Konfiguration in package.json muss korrekt sein ```bash docker exec n8n cat /home/node/.n8n/custom/n8n-nodes-librebooking/package.json | grep -A10 '"n8n"' ``` 3. **Container-Cache**: Container komplett neu erstellen ```bash docker compose down docker compose up -d ``` 4. **n8n Version zu alt**: Der Node benötigt n8n >= 1.0.0 ```bash docker exec n8n n8n --version ``` ### Problem: Fehler bei npm install (Netzwerk) **Symptom:** ``` npm ERR! network request failed ``` **Lösung:** ```bash # DNS prüfen docker exec n8n cat /etc/resolv.conf # npm Registry prüfen docker exec n8n npm config get registry # Ggf. Registry setzen docker exec n8n npm config set registry https://registry.npmjs.org/ ``` --- ## Schnellreferenz | Aktion | Befehl | |--------|--------| | Status prüfen | `docker exec n8n sh /tmp/check-installation.sh` | | Installieren | `docker exec n8n sh -c "cd /home/node/.n8n/custom/n8n-nodes-librebooking && npm install && npm run build"` | | Neustarten | `docker restart n8n` | | Logs prüfen | `docker logs n8n 2>&1 \| grep -i libre` | | Im Container | `docker exec -it n8n sh` | --- ## Weiterführende Dokumentation - [DOCKER-INTEGRATION.md](DOCKER-INTEGRATION.md) - Vollständige Docker-Anleitung - [TROUBLESHOOTING.md](TROUBLESHOOTING.md) - Alle Troubleshooting-Themen - [SCHNELLSTART-DOCKER.md](SCHNELLSTART-DOCKER.md) - Docker-Schnellstart --- *Letzte Aktualisierung: Januar 2026*