FROM node:22-trixie as builder RUN apt-get update && \ DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends git curl jq && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/* # 复制项目配置文件 COPY ui/package.json ./ui/package.json COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./ COPY scripts ./scripts COPY patches ./patches # 安装项目依赖 RUN pnpm install --frozen-lockfile # 复制所有源码 COPY . . # 构建项目 RUN OPENCLAW_A2UI_SKIP_MISSING=1 pnpm build ENV OPENCLAW_PREFER_PNPM=1 RUN pnpm ui:build # 生产环境镜像 FROM node:22-trixie-slim WORKDIR /app COPY --from=builder /app /app ENV NODE_ENV=production RUN chown -R root:root /app RUN rm -rf /app/extensions/feishu EXPOSE 18789 USER root # VOLUME [ "/data" ] CMD ["node", "dist/index.js", "gateway"]