From 27a4868c2de2fcd957461f7688fdbeb166f4578f Mon Sep 17 00:00:00 2001 From: JayMishra-github Date: Mon, 16 Feb 2026 10:46:38 -0800 Subject: [PATCH] fix: move Chromium install after pnpm install and use playwright-core/cli.js Address review feedback: - Move the OPENCLAW_INSTALL_BROWSER block after pnpm install so playwright-core is available in node_modules - Use node /app/node_modules/playwright-core/cli.js instead of npx playwright to avoid npm override conflicts in Docker Co-Authored-By: Claude Opus 4.6 --- Dockerfile | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/Dockerfile b/Dockerfile index 8e037244d6..85c6d1fafb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,18 +16,6 @@ RUN if [ -n "$OPENCLAW_DOCKER_APT_PACKAGES" ]; then \ rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*; \ fi -# Optionally install Chromium and Xvfb for browser automation. -# Build with: docker build --build-arg OPENCLAW_INSTALL_BROWSER=1 ... -# Adds ~300MB but eliminates the 60-90s Playwright install on every container start. -ARG OPENCLAW_INSTALL_BROWSER="" -RUN if [ -n "$OPENCLAW_INSTALL_BROWSER" ]; then \ - apt-get update && \ - DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xvfb && \ - npx playwright install --with-deps chromium && \ - apt-get clean && \ - rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*; \ - fi - COPY package.json pnpm-lock.yaml pnpm-workspace.yaml .npmrc ./ COPY ui/package.json ./ui/package.json COPY patches ./patches @@ -35,6 +23,19 @@ COPY scripts ./scripts RUN pnpm install --frozen-lockfile +# Optionally install Chromium and Xvfb for browser automation. +# Build with: docker build --build-arg OPENCLAW_INSTALL_BROWSER=1 ... +# Adds ~300MB but eliminates the 60-90s Playwright install on every container start. +# Must run after pnpm install so playwright-core is available in node_modules. +ARG OPENCLAW_INSTALL_BROWSER="" +RUN if [ -n "$OPENCLAW_INSTALL_BROWSER" ]; then \ + apt-get update && \ + DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends xvfb && \ + node /app/node_modules/playwright-core/cli.js install --with-deps chromium && \ + apt-get clean && \ + rm -rf /var/lib/apt/lists/* /var/cache/apt/archives/*; \ + fi + COPY . . RUN pnpm build