Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

139 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

sbx-templates

Custom sandbox templates for Docker AI Sandboxes (sbx). Built on top of docker/sandbox-templates:claude-code-minimal.

See USAGE.md for install, one-time host setup, creating/re-attaching sandboxes, credential storage, and git signing.

Architecture

A shared base image contains common tooling, with thin per-language layers on top:

docker/sandbox-templates:claude-code-minimal
  +-- base
        +-- bun       (Bun + TypeScript LSP)
        +-- rust      (Rust + rust-analyzer)
        +-- golang    (Go + gopls)
        +-- python    (Python/uv + Pyright)

What's in the base image

Developer tools

Tool Description
Bun JavaScript runtime (also provides npm/npx for LSP servers)
Python Default Python runtime (managed by uv, with python/python3 on PATH)
GitHub CLI GitHub from the command line
1Password CLI Secrets management
delta Syntax-highlighted git diffs
yq YAML processor (jq for YAML)
ripgrep Fast recursive search
fd Fast file finder
bat cat with syntax highlighting
eza Modern ls replacement
fzf Fuzzy finder
tmux Terminal multiplexer
zsh + oh-my-zsh Shell with plugins (git, gh, docker, tmux, fzf)
beads (bd) Issue/task tracker for coding agents
prek Fast Rust reimplementation of pre-commit

Security

Tool Description
Socket Firewall Supply chain protection for package installs

Language images

Image Runtime LSP sfw alias
bun Bun typescript-language-server bun, bunx
rust rustup + stable toolchain, wild linker, cargo-binstall, cargo-cache rust-analyzer cargo
golang Go (system-wide) gopls
python uv + default Python Pyright pip, uv

Local build

# Build base first
docker build -t sbx-templates:base base/

# Build language images
docker build -t sbx-templates:bun bun/
docker build -t sbx-templates:rust rust/
docker build -t sbx-templates:golang golang/
docker build -t sbx-templates:python python/

CI

Images are built and pushed to GHCR on every push to main:

  1. Build base image
  2. Parallel-build all language images on top of the base (by digest)
  3. Sign all images with cosign (keyless via GitHub OIDC)

Supply chain verification

Binary dependencies are verified during the build:

Dependency Verification method
bun, yq, delta, sfw, beads, prek SHA256 checksums (hardcoded, auto-updated by Renovate)
apt packages GPG-signed repos (GitHub CLI, 1Password)

Output images are signed in CI with cosign (keyless via GitHub OIDC).

Dependency management

Renovate tracks and auto-updates:

  • Upstream base image digest (docker/sandbox-templates:claude-code-minimal)
  • Tool versions (bun, delta, yq, sfw, mold, beads, prek)
  • GitHub Actions versions

Checksums for bun, yq, delta, sfw, beads, and prek are automatically recomputed via postUpgradeTasks when their versions are bumped.

About

Custom sandbox templates for Docker's sbx tool

Topics

Resources

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages