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.
37 lines
1.0 KiB
Docker
37 lines
1.0 KiB
Docker
# 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"]
|