State directory
BoxRun stores all state in a single directory:Environment variables
| Variable | Default | Description |
|---|---|---|
BOXRUN_STATE_DIR | ~/.boxrun | State directory (socket, database) |
BOXRUN_SOCKET | ~/.boxrun/boxrun.sock | Unix socket path |
BOXRUN_DB | ~/.boxrun/boxrun.db | SQLite database path |
BOXRUN_HOST | 127.0.0.1 | Server bind host (TCP mode) |
BOXRUN_PORT | 9090 | Server bind port (TCP mode) |
BOXRUN_MAX_CPU | auto-detected | Total CPU limit override |
BOXRUN_MAX_MEMORY_MB | auto-detected | Total memory limit override (MB) |
BOXLITE_RUNTIME_DIR | ./runtime | BoxLite runtime directory |
Resource limits
Total CPU and memory limits are auto-detected from host hardware. There is no hard limit on box count — you can run as many boxes as your CPU and memory allow.Defaults
| Resource | Default |
|---|---|
| Total CPU | auto-detected (host CPU count) |
| Total memory | auto-detected (host RAM) |
| Per-box CPU | 2 cores |
| Per-box memory | 1024 MB |
| Per-box disk | 8 GB |
| Per-box workdir | /root |
| Default image | ubuntu:24.04 |
Overriding limits
Override total resource limits via environment variables:- CLI
- Python
- REST API
Image aliases
BoxRun resolves short image names to full references:| Alias | Image |
|---|---|
ubuntu | ubuntu:24.04 |
python | python:3.12-slim |
node | node:22-slim |
golang | golang:1.22 |
rust | rust:1.77-slim |
alpine | alpine:3.20 |
python:3.11, nginx:latest).

