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.
4.5 KiB
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):
- 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. - 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 annode:22zur 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
- Container Manager: Das
Container Manager-Paket (früherDocker) muss installiert sein. - 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.
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).
# 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)
- Build:
docker-compose build moltbot - 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-slimim Dockerfile. Dies löst das Startproblem, führt aber zum nächsten Fehler.
- Ursache: Inkompatibilität zwischen dem Standard-
-
FINALER FEHLER:
moltbot requires Node >=22.0.0zur 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 Befehldocker-compose runmuss zudem mit--user nodeausgeführt werden, um mit den korrekten Berechtigungen in das Volume zu schreiben.
- Problem: Host-Verzeichnisse (z.B.