mirror of
https://github.com/openclaw/openclaw.git
synced 2026-06-04 19:47:43 +00:00
Refresh pinned node:24-bookworm and node:24-bookworm-slim manifest-list digests across the root, smoke, and e2e Dockerfiles. Update digest pin assertions to cover the plugin-binding e2e Dockerfile. Verified with live Docker digest inspection, targeted Dockerfile tests, root base-runtime build, install-sh smoke build, and plugin-binding e2e build. Thanks @LibraHo.
32 lines
1.1 KiB
Docker
32 lines
1.1 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
|
|
FROM node:24-bookworm-slim@sha256:242549cd46785b480c832479a730f4f2a20865d61ea2e404fdb2a5c3d3b73ecf
|
|
|
|
RUN corepack enable
|
|
|
|
RUN useradd --create-home --shell /bin/bash appuser \
|
|
&& mkdir -p /app \
|
|
&& chown appuser:appuser /app
|
|
|
|
ENV HOME="/home/appuser"
|
|
|
|
USER appuser
|
|
WORKDIR /app
|
|
|
|
COPY --chown=appuser:appuser package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
COPY --chown=appuser:appuser ui/package.json ./ui/package.json
|
|
COPY --chown=appuser:appuser patches ./patches
|
|
|
|
# This image only exercises the root QR runtime dependency path.
|
|
# Keep the pre-install copy set limited to the manifests needed for root
|
|
# workspace resolution so unrelated extension edits do not bust the layer.
|
|
ARG OPENCLAW_QR_INSTALL_CACHE_BUSTER=stable
|
|
RUN --mount=type=cache,id=openclaw-pnpm-store,target=/home/appuser/.local/share/pnpm/store,sharing=locked \
|
|
printf '%s\n' "$OPENCLAW_QR_INSTALL_CACHE_BUSTER" >/tmp/openclaw-qr-install-cache-buster && \
|
|
if ! pnpm install --frozen-lockfile --ignore-scripts >/tmp/openclaw-qr-pnpm-install.log 2>&1; then \
|
|
cat /tmp/openclaw-qr-pnpm-install.log; \
|
|
exit 1; \
|
|
fi
|
|
|
|
COPY --chown=appuser:appuser . .
|