mirror of
https://github.com/openclaw/openclaw.git
synced 2026-05-06 06:30:42 +00:00
32 lines
1.1 KiB
Docker
32 lines
1.1 KiB
Docker
# syntax=docker/dockerfile:1.7
|
|
|
|
FROM node:24-bookworm-slim@sha256:e8e2e91b1378f83c5b2dd15f0247f34110e2fe895f6ca7719dbb780f929368eb
|
|
|
|
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 . .
|