| 123456789101112131415161718192021222324252627282930313233343536 |
- 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"]
|