A machine is a KVM microVM with its own kernel, network stack, persistent disk, public IP, and HTTPS domain.Documentation Index
Fetch the complete documentation index at: https://docs.boxd.sh/llms.txt
Use this file to discover all available pages before exploring further.
Create
| Flag | Default | Description |
|---|---|---|
--name | auto-generated | Machine name. Must be unique across the cluster. Becomes the subdomain. |
--image | computer:latest | Container image for the root filesystem. |
--restart | always | Restart policy: always or never. |
--name, boxd generates a random name like blue-river.
Output:
--json:
List
no VMs if you have none.
Destroy
What’s inside
The default image is Ubuntu 24.04 (unminimized, with man pages and full documentation): Languages and runtimes:- Python 3 with pip,
uvpackage manager, andpipx - Go (
golang-go) build-essential(gcc, g++, make)
- Claude Code (
claude) — Anthropic’s CLI coding agent - Codex (
codex) — OpenAI’s CLI coding agent
AGENTS.md at ~/.config/boxd/AGENTS.md that gives agents context about the boxd environment. It’s symlinked to ~/.claude/CLAUDE.md and ~/.codex/AGENTS.md automatically.
Containers:
- Docker and Docker Compose
- Docker Buildx
- vim, neovim
- git, curl, wget, jq, ripgrep, sqlite3, rsync, tree, file, unzip
- GitHub CLI (
gh)
- btop, atop, iotop, ncdu
- ffmpeg, ImageMagick
- mitmproxy, socat, netcat
- Headless Chrome (via
headless-shell)
- nginx (configured on port 8000, disabled by default)
- systemd (full init system)
- openssh-server, openssh-client
Node.js 24 is installed via nvm and available in interactive shells (SSH,
boxd connect). It is not on PATH for non-interactive boxd exec calls, which use /bin/sh -c and don’t source ~/.bashrc. To use Node from boxd exec, either source nvm first (. ~/.nvm/nvm.sh && node ...) or install it system-wide (sudo apt install -y nodejs npm).boxd user has passwordless sudo and is a member of the docker group.