# ClawBench HF Docker Space # Layer the benchmark harness on top of a pinned OpenClaw image. ARG OPENCLAW_IMAGE=ghcr.io/openclaw/openclaw@sha256:2e32f4f2e4f653f12d5dc6e5c93cc71e60f49d1dfaf061b18e53c3e61a38fb48 FROM ${OPENCLAW_IMAGE} USER root ENV DEBIAN_FRONTEND=noninteractive RUN apt-get update && \ apt-get install -y python3-pip python-is-python3 && \ rm -rf /var/lib/apt/lists/* RUN ln -s /app /openclaw ENV PLAYWRIGHT_BROWSERS_PATH=/ms-playwright RUN cd /tmp && npx -y playwright@1.59.1 install --with-deps chromium && \ CHROME_PATH="$(find /ms-playwright -path '*/chrome' -type f | sort | head -n 1)" && \ test -x "$CHROME_PATH" && \ ln -sf "$CHROME_PATH" /usr/bin/chromium ENV HOME=/home/node PATH=/home/node/.local/bin:$PATH WORKDIR /home/node/app COPY --chown=node:node pyproject.toml README.md CLAWBENCH_V0_4_SPEC.md PARTNER_TRACE_SPEC.md ./ COPY --chown=node:node clawbench/ clawbench/ COPY --chown=node:node tasks-public/ tasks-public/ COPY --chown=node:node tasks-domain/ tasks-domain/ COPY --chown=node:node profiles/ profiles/ COPY --chown=node:node baselines/ baselines/ COPY --chown=node:node scripts/ scripts/ COPY --chown=node:node app.py . RUN python3 -m pip install --break-system-packages --no-cache-dir . RUN mkdir -p \ /data/results \ /data/queue \ /home/node/.openclaw/agents/dev \ /home/node/.openclaw/agents/main/agent && \ chown -R node:node /data /home/node/.openclaw && \ chmod -R 775 /data /home/node/.openclaw USER node ENV GATEWAY_PORT=18789 ENV OPENCLAW_HOME=/home/node ENV OPENCLAW_STATE_DIR=/home/node/.openclaw EXPOSE 7860 CMD ["python", "app.py"]