Sandbox reference
Every tool in a sandbox briq, with its version, and the sandbox's limits.
A sandbox is a briq that runs our image, ghcr.io/briq-cloud/sandbox, and nothing else: the
agent runs commands in it with briq_exec (recipe,
guide). This page lists what the image has, from the build
of 2026-10-19. It is rebuilt every Monday from
briq-cloud/sandbox; the current build's versions are in
its REFERENCE.md, and
sandbox-versions prints them inside a sandbox.
briq_run({ recipe: "sandbox" })
briq_run({ recipe: "sandbox", image: "ghcr.io/briq-cloud/sandbox:full" })
briq_run({ recipe: "sandbox", image: "ghcr.io/briq-cloud/sandbox:2026-10-19" })| Tag | What | Size |
|---|---|---|
latest (the recipe's default), <date> | Languages, tools, database clients | 480 MB |
full, full-<date> | The default, plus documents, media, the Python data libraries and a browser | 1.15 GB |
latest and full follow the newest build. A date tag never moves: pin one when the sandbox
must not change between runs.
Languages
| Language | Version | Package managers |
|---|---|---|
| Python | 3.13.16 (python, python3), 3.12.15 (python3.12) | pip 26.2, uv 0.13, poetry 2.5 |
| Node.js | 24.22.0 | npm 11.19, pnpm 12.14, yarn 1.22, bun 1.4 |
| C/C++ | gcc 13.3 | make 4.3, cmake 3.28, ninja 1.11 |
Another language is another image: golang:1.25-bookworm, rust:1-slim, ruby:3.4, anything
with sh. The recipe's command, volume and port stay.
Database clients
The sandbox has the clients. The servers are briqs in the same stack, the postgres and redis recipes, each with its connection string.
| Client | Version | For |
|---|---|---|
psql, pg_dump, pg_restore | 16.15 | PostgreSQL |
redis-cli | 7.0.15 | Redis |
sqlite3 | 3.45 | SQLite, a file |
Tools
- Version control:
git2.43,git-lfs,ssh. - HTTP:
curl,wget,nc,dig. - JSON and YAML:
jq1.7,yq4.54. - Files:
rg(ripgrep),fd,tree,file,less,diff,patch. - Archives:
tar,zip,unzip,xz,bzip2,gzip. - Editors and terminals:
vim,nano,tmux. - Build:
gcc,g++,make,cmake,ninja,pkg-config, the OpenSSL, libffi and zlib headers. - Processes and network:
ps,lsof,ss,ip.
The full tag
Everything above, and:
- Documents:
pandoc3.1,pdftotextandpdftoppm(poppler),qpdf. - Media:
ffmpeg6.1, ImageMagick (convert,identify),tesseract(OCR, English), Graphviz (dot). - Python libraries for
python: NumPy, pandas, Matplotlib, openpyxl, python-docx, python-pptx, pypdf, requests, Playwright. - Browser: Playwright 1.64 for Node.js (
playwright, global) and Python, with Chromium at/opt/pw-browsers.PLAYWRIGHT_BROWSERS_PATHis set, so neither needsplaywright install. Firefox and WebKit are not installed. For a browser other code connects to, the chrome recipe is a briq of its own.
Not in either tag: LibreOffice, TeX Live, Java, Go, Rust, Ruby, PHP. Install one with apt-get,
or run another image.
Specifications
| Operating system | Ubuntu 24.04 LTS, linux/amd64 |
| Memory and CPU | By size: nano to large, 512 MB to 8 GB (sizes); small by default |
| Disk | A volume at /work, 2 GB by default (volume: { gb } at run), plus the image's own disk. Files anywhere survive sleep; briq_fork copies them |
| Working directory | /work; relative paths in files are boot files, written at each start |
| User | root |
| Process | sleep infinity; the briq stays up for the commands, and sleeps after its sleep window unused |
| Commands | briq_exec: a minute, 32 KB of output; async: true: up to 24 hours, the whole output kept in the briq; ten at once (Run a long command) |
| Files | briq_files_put and briq_files_get, 1 MB a file; more from inside (git clone, curl) |
| Network | Outbound open, except mail (SMTP ports). The team's other briqs by host name. Inbound only through expose: whatever listens on $PORT (8080) serves at the URL |
| Environment | PORT=8080, LANG=C.UTF-8, TZ=UTC, and what you pass in env (a credential as { secret, value }) |
Isolation, what briq stores and the abuse policy: Security.