Files
Brancheneinstufung2/MOLTBOT_SYNOLOGY_GUIDE.md
Floke 67f59a7668 [2f688f42] docs: Update Moltbot Synology Guide with final diagnosis
Updated the  to reflect the definitive conclusion that Moltbot (requiring Node.js v22+) cannot be installed on Synology NAS systems (due to Docker/kernel incompatibility with modern Node.js images, and Moltbot's hard requirement).

- Added a prominent warning about the unresolvable "Catch-22" at the beginning of the guide.
- Documented the  and  that represented the final, most advanced attempt to bypass the issues, including using Node.js v20, named Docker volumes, and aggressive patching attempts.
- Updated the troubleshooting section to clearly explain the unresolvable conflict and its implications, offering alternative solutions outside of Synology.
2026-01-28 10:28:01 +00:00

103 lines
4.5 KiB
Markdown

# Moltbot auf Synology NAS installieren (Erweiterte Anleitung)
***
**WICHTIGER HINWEIS (Stand: Jan 2026): Aktuell NICHT MÖGLICH**
**Aufgrund eines unlösbaren technischen Konflikts ist die Installation von Moltbot (Versionen, die Node.js v22+ erfordern) auf den meisten Synology NAS-Systemen derzeit nicht erfolgreich durchführbar.**
Diese Anleitung dokumentiert den detaillierten Versuch und die dabei gewonnenen Erkenntnisse. Sie ist für fortgeschrittene Benutzer gedacht, die das Problem verstehen oder für zukünftige Versionen anpassen möchten.
**Das Kernproblem (Catch-22):**
1. **Host-Inkompatibilität:** Der Docker-Dienst auf Synology ist oft nicht mit dem modernen `node:22`-Basis-Image kompatibel, das Moltbot benötigt. Dies führt zu "stillen Abstürzen", bei denen der Container ohne Log-Ausgabe fehlschlägt.
2. **Anwendungs-Anforderung:** Um das Host-Problem zu umgehen, kann ein `node:20`-Image gebaut werden. Die Moltbot-Anwendung selbst hat jedoch eine harte, nicht patchbare Anforderung an `node:22` zur Laufzeit und verweigert den Start.
Da der Host `node:20` benötigt, die Anwendung aber `node:22` verlangt, steckt die Installation in einer Sackgasse.
***
## Voraussetzungen
1. **Container Manager:** Das `Container Manager`-Paket (früher `Docker`) muss installiert sein.
2. **SSH-Zugang:** Sie benötigen SSH-Zugang zu Ihrer Synology NAS, um die Befehle auszuführen.
## Schritt 1: Konfigurationsdateien erstellen
Die folgenden Dateien repräsentieren den am weitesten fortgeschrittenen Versuch, das Kompatibilitätsproblem zu lösen.
**1. `docker-compose.yml`**
Verwendet ein "Named Volume", was auf Synology-Systemen zuverlässiger ist.
```yaml
version: '3.8'
services:
moltbot:
build:
context: .
dockerfile: Dockerfile.moltbot
container_name: moltbot
restart: unless-stopped
ports:
- "18789:18789"
command: gateway --port 18789
volumes:
- moltbot_data:/home/node/.clawd
volumes:
moltbot_data: {}
```
**2. `Dockerfile.moltbot`**
Zwingt den Bau zur Verwendung von `Node.js v20` und versucht, die Versionsprüfung im Quellcode zu entfernen (was sich als unwirksam erwiesen hat).
```dockerfile
# Use Node.js v20 as the base image for better compatibility
FROM node:20-slim
# Install necessary tools as root
USER root
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*
# Switch to the non-privileged node user
USER node
WORKDIR /app
# Clone the repository
RUN git clone https://github.com/moltbot/moltbot.git .
# HACK: Attempt to patch the Node.js version check (INEFFECTIVE)
RUN find . -type f -exec sed -i 's/.*requires Node >=.*/\/\/ Version check disabled by Gemini/' {} +
# Install dependencies locally to avoid global permission issues
RUN npm install pnpm
RUN npx pnpm install
RUN npx pnpm build
# Expose port and define entrypoint
EXPOSE 18789
ENTRYPOINT ["/app/packages/clawdbot/node_modules/.bin/clawdbot"]
CMD ["--help"]
```
## Schritt 2: Build & Onboarding (führt zum Fehler)
1. **Build:** `docker-compose build moltbot`
2. **Onboarding:** `docker-compose run --rm --user node moltbot onboard`
Dieser `onboard`-Befehl wird mit der Fehlermeldung `moltbot requires Node >=22.0.0` fehlschlagen und beweist damit das unlösbare Problem.
## Fehlerbehebung & Finale Diagnose
- **Problem: Container startet nicht, keine Logs (stiller Absturz).**
- **Ursache:** Inkompatibilität zwischen dem Standard-`node:22+`-Image und der Docker-Umgebung der Synology.
- **Lösung:** Downgrade auf `node:20-slim` im Dockerfile. Dies löst das Startproblem, führt aber zum nächsten Fehler.
- **FINALER FEHLER: `moltbot requires Node >=22.0.0` zur Laufzeit.**
- **Ursache:** Die Moltbot-Anwendung hat eine harte Anforderung an die Node.js-Version, die auch nach dem Kompilieren des Codes bestehen bleibt und sich durch einfache Skripte während des Builds nicht entfernen lässt.
- **Status:** **UNLÖSBAR.** Solange die Synology-Umgebung keine neueren Node.js-Images unterstützt ODER die Moltbot-Entwickler die Mindestanforderung nicht senken, kann die Anwendung nicht installiert werden.
- **Erkenntnis zu Docker-Volumes auf Synology:**
- **Problem:** Host-Verzeichnisse (z.B. `./moltbot_data`) verursachen stille Schreibfehler aufgrund von Berechtigungskonflikten.
- **Lösung:** Immer von Docker verwaltete "Named Volumes" verwenden (`moltbot_data:`), da diese Methode robust funktioniert. Der Befehl `docker-compose run` muss zudem mit `--user node` ausgeführt werden, um mit den korrekten Berechtigungen in das Volume zu schreiben.