mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-12 07:20:45 +00:00
* Docker: improve build cache reuse * Tests: cover Docker build cache layout * Docker: fix sandbox cache mount continuations * Docker: document qr-import manifest scope * Docker: narrow e2e install inputs * CI: cache Docker builds in workflows * CI: route sandbox smoke through setup script * CI: keep sandbox smoke on script path
39 lines
1.2 KiB
Docker
39 lines
1.2 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
|
|
FROM node:22-bookworm@sha256:cd7bcd2e7a1e6f72052feb023c7f6b722205d3fcab7bbcbd2d1bfdab10b1e935
|
|
|
|
RUN corepack enable
|
|
|
|
WORKDIR /app
|
|
|
|
ENV NODE_OPTIONS="--disable-warning=ExperimentalWarning"
|
|
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
COPY ui/package.json ./ui/package.json
|
|
COPY extensions/memory-core/package.json ./extensions/memory-core/package.json
|
|
COPY patches ./patches
|
|
|
|
RUN --mount=type=cache,id=openclaw-pnpm-store,target=/root/.local/share/pnpm/store,sharing=locked \
|
|
pnpm install --frozen-lockfile
|
|
|
|
COPY tsconfig.json tsconfig.plugin-sdk.dts.json tsdown.config.ts vitest.config.ts vitest.e2e.config.ts openclaw.mjs ./
|
|
COPY src ./src
|
|
COPY test ./test
|
|
COPY scripts ./scripts
|
|
COPY docs ./docs
|
|
COPY skills ./skills
|
|
COPY ui ./ui
|
|
COPY extensions/memory-core ./extensions/memory-core
|
|
COPY vendor/a2ui/renderers/lit ./vendor/a2ui/renderers/lit
|
|
COPY apps/shared/OpenClawKit/Sources/OpenClawKit/Resources ./apps/shared/OpenClawKit/Sources/OpenClawKit/Resources
|
|
COPY apps/shared/OpenClawKit/Tools/CanvasA2UI ./apps/shared/OpenClawKit/Tools/CanvasA2UI
|
|
|
|
RUN pnpm build
|
|
RUN pnpm ui:build
|
|
|
|
RUN useradd --create-home --shell /bin/bash appuser \
|
|
&& chown -R appuser:appuser /app
|
|
USER appuser
|
|
|
|
CMD ["bash"]
|