diff --git a/Dockerfile b/Dockerfile index 2dea320..2c1389d 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,32 +2,46 @@ FROM node:22-bookworm # Install system dependencies RUN apt-get update && apt-get install -y \ - socat \ + curl \ git \ python3 \ make \ g++ \ + socat \ + unzip \ && rm -rf /var/lib/apt/lists/* -# Install pnpm -RUN corepack enable && corepack prepare pnpm@latest --activate +# Install Bun (required for build scripts) +RUN curl -fsSL https://bun.sh/install | bash +ENV BUN_INSTALL="/root/.bun" +ENV PATH="${BUN_INSTALL}/bin:${PATH}" + +# Enable pnpm +RUN corepack enable -# Set up user -USER node WORKDIR /home/node/app -# Copy application code -COPY --chown=node:node . . +# Clone the official repository +# We clone into the current directory +RUN git clone https://github.com/moltbot/moltbot.git . -# Build process +# Install dependencies RUN pnpm install --frozen-lockfile -RUN pnpm build + +# Build application +RUN CLAWDBOT_A2UI_SKIP_MISSING=1 pnpm build + +# Build UI +# Force pnpm for UI build as per official Dockerfile +ENV CLAWDBOT_PREFER_PNPM=1 +RUN pnpm ui:install RUN pnpm ui:build -# Fix permissions -USER root +# Fix permissions for the node user RUN chown -R node:node /home/node/app + +# Security: Run as non-root USER node -# Default command (can be overridden by docker-compose) +# Start the application CMD ["node", "dist/index.js"]