sandbox-base-image (stable)
Installation
docker pull git.danhenry.dev/thelab/sandbox-base-image:stablesha256:95c800e6bd52f32d80ff5ac6cb11e05125a2c2d8036b8d348c5635e588899802
Image Layers
| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:0f6466425c4f1800aae9224ddc3437b90c829cea58fb8edd5dde2f1eb0ee28da in / |
| CMD ["/bin/bash"] |
| ARG SANDBOX_UID=1001 |
| ARG SANDBOX_GID=1001 |
| ARG TARGETARCH |
| ENV DEBIAN_FRONTEND=noninteractive |
| ENV NODE_VERSION=25.9.0 |
| ENV GO_VERSION=1.26.0 |
| RUN |3 SANDBOX_UID=1001 SANDBOX_GID=1001 TARGETARCH=amd64 /bin/sh -c apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends bash ca-certificates curl file git jq libatomic1 python3 python3-pip python3-venv ripgrep rsync sudo tini tmux unzip wget xz-utils && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN |3 SANDBOX_UID=1001 SANDBOX_GID=1001 TARGETARCH=amd64 /bin/sh -c set -eux; case "${TARGETARCH:-amd64}" in amd64) NODE_ARCH="x64" ;; arm64) NODE_ARCH="arm64" ;; *) echo "Unsupported TARGETARCH for Node: ${TARGETARCH:-unset}" >&2; exit 1 ;; esac; curl -fsSLO "https://nodejs.org/dist/v${NODE_VERSION}/node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz"; tar -xJf "node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz" -C /usr/local --strip-components=1; rm -f "node-v${NODE_VERSION}-linux-${NODE_ARCH}.tar.xz"; node --version; npm --version # buildkit |
| RUN |3 SANDBOX_UID=1001 SANDBOX_GID=1001 TARGETARCH=amd64 /bin/sh -c set -eux; case "${TARGETARCH:-amd64}" in amd64) GO_ARCH="amd64" ;; arm64) GO_ARCH="arm64" ;; *) echo "Unsupported TARGETARCH for Go: ${TARGETARCH:-unset}" >&2; exit 1 ;; esac; curl -fsSLO "https://go.dev/dl/go${GO_VERSION}.linux-${GO_ARCH}.tar.gz"; rm -rf /usr/local/go; tar -xzf "go${GO_VERSION}.linux-${GO_ARCH}.tar.gz" -C /usr/local; rm -f "go${GO_VERSION}.linux-${GO_ARCH}.tar.gz"; /usr/local/go/bin/go version # buildkit |
| RUN |3 SANDBOX_UID=1001 SANDBOX_GID=1001 TARGETARCH=amd64 /bin/sh -c set -eux; if ! getent group sandbox >/dev/null; then groupadd -g "${SANDBOX_GID}" sandbox; fi; if ! id -u sandbox >/dev/null 2>&1; then useradd -m -u "${SANDBOX_UID}" -g "${SANDBOX_GID}" -s /bin/bash sandbox; fi; echo 'sandbox ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/sandbox; chmod 0440 /etc/sudoers.d/sandbox # buildkit |
| ENV HOME=/workspace |
| ENV GOPATH=/workspace/go |
| ENV NPM_CONFIG_PREFIX=/workspace/.local |
| ENV npm_config_prefix=/workspace/.local |
| ENV PIP_DISABLE_PIP_VERSION_CHECK=1 |
| ENV PATH=/workspace/.local/bin:/workspace/.cargo/bin:/workspace/go/bin:/usr/local/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| RUN |3 SANDBOX_UID=1001 SANDBOX_GID=1001 TARGETARCH=amd64 /bin/sh -c printf '%s\n' 'export HOME=/workspace' 'export GOPATH=/workspace/go' 'export NPM_CONFIG_PREFIX=/workspace/.local' 'export npm_config_prefix=/workspace/.local' 'export PATH=/workspace/.local/bin:/workspace/.cargo/bin:/workspace/go/bin:/usr/local/go/bin:$PATH' 'export EDITOR=vi' > /etc/profile.d/workspace-home.sh && chmod 0644 /etc/profile.d/workspace-home.sh # buildkit |
| COPY --chmod=755 <<EOF /usr/local/bin/sandbox-entrypoint.sh # buildkit |
| USER sandbox |
| WORKDIR /workspace |
| ENTRYPOINT ["/usr/bin/tini" "--" "/usr/local/bin/sandbox-entrypoint.sh"] |
| CMD ["sleep" "infinity"] |
Labels
| Key | Value |
|---|---|
| org.opencontainers.image.version | 24.04 |
Details
Versions (4)
View all
stable
2026-04-08
latest
2026-04-08
9c82ecb8217f7fbb56765cdbd48fcdb5d97eebc6
2026-04-08
0eaabc3d5d7b56f0f59951d65dc96d77d9b65341
2026-04-08