claude-sandbox (tilt-6e9183c618568773)
Published 2026-03-10 11:52:03 -04:00 by ianblenke
Installation
docker pull gitea.noblehunt.org/glean/claude-sandbox:tilt-6e9183c618568773sha256:70bab90e2e5cd4b2e14390f2fbf58ac46197b0c55f72a8622ce8b32e725dce77
About this package
Shared development environment for Claude Code with Kubernetes tooling
Image Layers
| ARG RELEASE |
| ARG LAUNCHPAD_BUILD_ARCH |
| LABEL org.opencontainers.image.ref.name=ubuntu |
| LABEL org.opencontainers.image.version=24.04 |
| ADD file:1d7c45546e94b90e941c5bf5c7a5d415d7b868581ad96171d4beb76caa8ab683 in / |
| CMD ["/bin/bash"] |
| LABEL org.opencontainers.image.title=Claude Code Sandbox |
| LABEL org.opencontainers.image.description=Shared development environment for Claude Code with Kubernetes tooling |
| LABEL org.opencontainers.image.source=https://github.com/ianblenke/havoc |
| ENV DEBIAN_FRONTEND=noninteractive |
| RUN /bin/sh -c apt-get update && apt-get install -y --no-install-recommends tmux ttyd locales sudo vim silversearcher-ag git curl wget jq unzip ca-certificates openssh-client build-essential python3 python3-pip age bc iproute2 iptables dnsutils gettext-base apt-transport-https gnupg && rm -rf /var/lib/apt/lists/* && ln -sf /usr/bin/python3 /usr/bin/python # buildkit |
| RUN /bin/sh -c sed -i '/en_US.UTF-8/s/^# //' /etc/locale.gen && locale-gen # buildkit |
| RUN /bin/sh -c curl -fsSL https://go.dev/dl/go1.24.0.linux-amd64.tar.gz | tar -C /usr/local -xzf - && ln -s /usr/local/go/bin/go /usr/local/bin/go && ln -s /usr/local/go/bin/gofmt /usr/local/bin/gofmt # buildkit |
| RUN /bin/sh -c curl -fsSL https://deb.nodesource.com/setup_20.x | bash - && apt-get install -y --no-install-recommends nodejs && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c npm install -g @anthropic-ai/claude-code # buildkit |
| RUN /bin/sh -c curl -fsSL -o /usr/local/bin/kubectl "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl" && chmod +x /usr/local/bin/kubectl # buildkit |
| RUN /bin/sh -c curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash # buildkit |
| RUN /bin/sh -c TILT_VERSION=$(curl -s https://api.github.com/repos/tilt-dev/tilt/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/tilt.tar.gz "https://github.com/tilt-dev/tilt/releases/download/${TILT_VERSION}/tilt.${TILT_VERSION#v}.linux.x86_64.tar.gz" && tar -xzf /tmp/tilt.tar.gz -C /usr/local/bin tilt && chmod +x /usr/local/bin/tilt && rm /tmp/tilt.tar.gz # buildkit |
| RUN /bin/sh -c SOPS_VERSION=$(curl -s https://api.github.com/repos/getsops/sops/releases/latest | jq -r '.tag_name') && curl -fsSL -o /usr/local/bin/sops "https://github.com/getsops/sops/releases/download/${SOPS_VERSION}/sops-${SOPS_VERSION}.linux.amd64" && chmod +x /usr/local/bin/sops # buildkit |
| RUN /bin/sh -c STERN_VERSION=$(curl -s https://api.github.com/repos/stern/stern/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/stern.tar.gz "https://github.com/stern/stern/releases/download/${STERN_VERSION}/stern_${STERN_VERSION#v}_linux_amd64.tar.gz" && tar -xzf /tmp/stern.tar.gz -C /usr/local/bin stern && chmod +x /usr/local/bin/stern && rm /tmp/stern.tar.gz # buildkit |
| RUN /bin/sh -c KUBECOLOR_VERSION=$(curl -s https://api.github.com/repos/kubecolor/kubecolor/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/kubecolor.tar.gz "https://github.com/kubecolor/kubecolor/releases/download/${KUBECOLOR_VERSION}/kubecolor_${KUBECOLOR_VERSION#v}_linux_amd64.tar.gz" && tar -xzf /tmp/kubecolor.tar.gz -C /usr/local/bin kubecolor && chmod +x /usr/local/bin/kubecolor && rm /tmp/kubecolor.tar.gz # buildkit |
| RUN /bin/sh -c curl -fsSL https://download.docker.com/linux/static/stable/x86_64/docker-27.5.1.tgz | tar -xzf - --strip-components=1 -C /usr/local/bin docker # buildkit |
| RUN /bin/sh -c YQ_VERSION=$(curl -s https://api.github.com/repos/mikefarah/yq/releases/latest | jq -r '.tag_name') && curl -fsSL -o /usr/local/bin/yq "https://github.com/mikefarah/yq/releases/download/${YQ_VERSION}/yq_linux_amd64" && chmod +x /usr/local/bin/yq # buildkit |
| RUN /bin/sh -c STEP_VERSION=$(curl -s https://api.github.com/repos/smallstep/cli/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/step.tar.gz "https://github.com/smallstep/cli/releases/download/${STEP_VERSION}/step_linux_${STEP_VERSION#v}_amd64.tar.gz" && tar -xzf /tmp/step.tar.gz --strip-components=2 -C /usr/local/bin "step_${STEP_VERSION#v}/bin/step" && chmod +x /usr/local/bin/step && rm /tmp/step.tar.gz # buildkit |
| RUN /bin/sh -c KIND_VERSION=$(curl -s https://api.github.com/repos/kubernetes-sigs/kind/releases/latest | jq -r '.tag_name') && curl -fsSL -o /usr/local/bin/kind "https://github.com/kubernetes-sigs/kind/releases/download/${KIND_VERSION}/kind-linux-amd64" && chmod +x /usr/local/bin/kind # buildkit |
| RUN /bin/sh -c curl -fsSL https://run.linkerd.io/install | INSTALLROOT=/usr/local sh # buildkit |
| RUN /bin/sh -c KREW_VERSION=$(curl -s https://api.github.com/repos/kubernetes-sigs/krew/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/krew.tar.gz "https://github.com/kubernetes-sigs/krew/releases/download/${KREW_VERSION}/krew-linux_amd64.tar.gz" && tar -xzf /tmp/krew.tar.gz -C /usr/local/bin ./krew-linux_amd64 && chmod +x /usr/local/bin/krew-linux_amd64 && rm /tmp/krew.tar.gz # buildkit |
| RUN /bin/sh -c curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg && echo "deb [arch=amd64 signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" > /etc/apt/sources.list.d/github-cli.list && apt-get update && apt-get install -y --no-install-recommends gh && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c TENV_VERSION=$(curl -s https://api.github.com/repos/tofuutils/tenv/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/tenv.tar.gz "https://github.com/tofuutils/tenv/releases/download/${TENV_VERSION}/tenv_${TENV_VERSION}_Linux_x86_64.tar.gz" && tar -xzf /tmp/tenv.tar.gz -C /usr/local/bin tenv tofu terraform terragrunt && chmod +x /usr/local/bin/tenv /usr/local/bin/tofu /usr/local/bin/terraform /usr/local/bin/terragrunt && rm /tmp/tenv.tar.gz # buildkit |
| RUN /bin/sh -c CIVO_VERSION=$(curl -s https://api.github.com/repos/civo/cli/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/civo.tar.gz "https://github.com/civo/cli/releases/download/${CIVO_VERSION}/civo-${CIVO_VERSION#v}-linux-amd64.tar.gz" && tar -xzf /tmp/civo.tar.gz -C /usr/local/bin civo && chmod +x /usr/local/bin/civo && rm /tmp/civo.tar.gz # buildkit |
| RUN /bin/sh -c curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | gpg --dearmor -o /usr/share/keyrings/cloud.google.gpg && echo "deb [signed-by=/usr/share/keyrings/cloud.google.gpg] https://packages.cloud.google.com/apt cloud-sdk main" > /etc/apt/sources.list.d/google-cloud-sdk.list && apt-get update && apt-get install -y --no-install-recommends google-cloud-cli && rm -rf /var/lib/apt/lists/* # buildkit |
| RUN /bin/sh -c TEMPORAL_VERSION=$(curl -s https://api.github.com/repos/temporalio/cli/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/temporal.tar.gz "https://github.com/temporalio/cli/releases/download/${TEMPORAL_VERSION}/temporal_cli_${TEMPORAL_VERSION#v}_linux_amd64.tar.gz" && tar -xzf /tmp/temporal.tar.gz -C /usr/local/bin temporal && chmod +x /usr/local/bin/temporal && rm /tmp/temporal.tar.gz # buildkit |
| RUN /bin/sh -c NATS_VERSION=$(curl -s https://api.github.com/repos/nats-io/natscli/releases/latest | jq -r '.tag_name') && curl -fsSL -o /tmp/nats.zip "https://github.com/nats-io/natscli/releases/download/${NATS_VERSION}/nats-${NATS_VERSION#v}-linux-amd64.zip" && unzip -o /tmp/nats.zip -d /tmp/nats && mv /tmp/nats/nats-${NATS_VERSION#v}-linux-amd64/nats /usr/local/bin/nats && chmod +x /usr/local/bin/nats && rm -rf /tmp/nats /tmp/nats.zip # buildkit |
| RUN /bin/sh -c curl -fsSL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b /usr/local/bin v2.9.0 # buildkit |
| RUN /bin/sh -c pip3 install --no-cache-dir pre-commit --break-system-packages # buildkit |
| RUN /bin/sh -c npm install -g pnpm # buildkit |
| RUN /bin/sh -c npm install -g ccusage # buildkit |
| RUN /bin/sh -c npm install -g @google/gemini-cli # buildkit |
| RUN /bin/sh -c npm install -g @fission-ai/openspec # buildkit |
| RUN /bin/sh -c git clone --depth=1 https://github.com/stevysmith/playground-sync.git /tmp/playground-sync && cd /tmp/playground-sync/plugins/playground-sync/server && npm install && npm run build && mkdir -p /usr/local/lib/playground-sync && cp -r dist package.json node_modules /usr/local/lib/playground-sync/ && rm -rf /tmp/playground-sync # buildkit |
| COPY .claude/skills/playground/ /usr/local/share/playground-skill/skills/playground/ # buildkit |
| RUN /bin/sh -c npx playwright install --with-deps chromium # buildkit |
| COPY --chmod=755 <<EOF /usr/local/bin/entrypoint.sh # buildkit |
| RUN /bin/sh -c userdel -r ubuntu 2>/dev/null || true && useradd -m -s /bin/bash -u 1000 claude && echo 'claude ALL=(ALL) NOPASSWD:ALL' > /etc/sudoers.d/claude # buildkit |
| ENV HOME=/home/claude |
| ENV SHELL=/bin/bash |
| ENV LANG=en_US.UTF-8 |
| ENV LC_ALL=en_US.UTF-8 |
| ENV TERM=xterm-256color |
| ENV PATH=/home/claude/.krew/bin:/home/claude/.local/bin:/usr/local/go/bin:/home/claude/go/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin |
| ENV GOPATH=/home/claude/go |
| ENV GOOGLE_CLOUD_PROJECT= |
| ENV GOOGLE_API_KEY= |
| USER claude |
| WORKDIR /home/claude |
| HEALTHCHECK &{["CMD-SHELL" "curl -sf http://localhost:7681/ || exit 1"] "30s" "5s" "10s" "0s" '\x03'} |
| ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] |
Labels
| Key | Value |
|---|---|
| dev.tilt.built | true |
| dev.tilt.gc | true |
| org.opencontainers.image.description | Shared development environment for Claude Code with Kubernetes tooling |
| org.opencontainers.image.ref.name | ubuntu |
| org.opencontainers.image.source | https://github.com/ianblenke/havoc |
| org.opencontainers.image.title | Claude Code Sandbox |
| org.opencontainers.image.version | 24.04 |
Details
Versions (3)
View all