[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.
This commit is contained in:
36
Dockerfile.moltbot
Normal file
36
Dockerfile.moltbot
Normal file
@@ -0,0 +1,36 @@
|
||||
# Use Node.js v20 as the base image to match the Synology host environment
|
||||
FROM node:20-slim
|
||||
|
||||
# Install git and pnpm 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 for all subsequent operations
|
||||
USER node
|
||||
|
||||
# Set the working directory
|
||||
WORKDIR /app
|
||||
|
||||
# Clone the Moltbot repository
|
||||
RUN git clone https://github.com/moltbot/moltbot.git .
|
||||
|
||||
# HACK: Use a brute-force find/sed to patch the Node.js version check in ANY file
|
||||
RUN find . -type f -exec sed -i 's/.*requires Node >=.*/\/\/ Version check disabled by Gemini for Synology compatibility/' {} +
|
||||
|
||||
# Install pnpm locally as a project dependency
|
||||
RUN npm install pnpm
|
||||
|
||||
# Install project dependencies using the local pnpm
|
||||
RUN npx pnpm install
|
||||
|
||||
# Build the project
|
||||
RUN npx pnpm build
|
||||
|
||||
# Expose the gateway port
|
||||
EXPOSE 18789
|
||||
|
||||
# Set the entrypoint to the clawdbot executable
|
||||
ENTRYPOINT ["/app/packages/clawdbot/node_modules/.bin/clawdbot"]
|
||||
|
||||
# The default command will be provided by docker-compose
|
||||
CMD ["--help"]
|
||||
Reference in New Issue
Block a user