File
Blob: docker/runner.Dockerfile
| 1 | ARG SANDBOX_VERSION=0.12.9 |
| 2 | FROM docker.io/cloudflare/sandbox:${SANDBOX_VERSION}-python |
| 3 | |
| 4 | ENV DEBIAN_FRONTEND=noninteractive \ |
| 5 | CI=1 \ |
| 6 | COREPACK_ENABLE_DOWNLOAD_PROMPT=0 \ |
| 7 | NPM_CONFIG_UPDATE_NOTIFIER=false \ |
| 8 | NPM_CONFIG_FUND=false \ |
| 9 | PNPM_HOME=/opt/pnpm \ |
| 10 | PATH=/opt/pnpm:$PATH |
| 11 | |
| 12 | RUN apt-get update && apt-get install -y --no-install-recommends \ |
| 13 | build-essential \ |
| 14 | ca-certificates \ |
| 15 | curl \ |
| 16 | file \ |
| 17 | git \ |
| 18 | git-lfs \ |
| 19 | gnupg \ |
| 20 | jq \ |
| 21 | pkg-config \ |
| 22 | procps \ |
| 23 | rsync \ |
| 24 | unzip \ |
| 25 | wget \ |
| 26 | xz-utils \ |
| 27 | zip \ |
| 28 | && mkdir -p /etc/apt/keyrings \ |
| 29 | && curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key \ |
| 30 | | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg \ |
| 31 | && echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_24.x nodistro main" \ |
| 32 | > /etc/apt/sources.list.d/nodesource.list \ |
| 33 | && apt-get update \ |
| 34 | && apt-get install -y --no-install-recommends nodejs \ |
| 35 | && rm -f /usr/local/bin/node /usr/local/bin/npm /usr/local/bin/npx \ |
| 36 | && update-alternatives --install /usr/local/bin/node node /usr/bin/node 100 \ |
| 37 | && update-alternatives --install /usr/local/bin/npm npm /usr/bin/npm 100 \ |
| 38 | && update-alternatives --install /usr/local/bin/npx npx /usr/bin/npx 100 \ |
| 39 | && npm install --global corepack \ |
| 40 | && rm -rf /var/lib/apt/lists/* |
| 41 | |
| 42 | RUN corepack enable \ |
| 43 | && corepack prepare pnpm@10.32.1 --activate \ |
| 44 | && corepack prepare yarn@4.12.0 --activate |
| 45 | |
| 46 | WORKDIR /workspace |