Alpha software. ArcBox is under active development. Expect rough edges, missing features, and breaking changes. We publish early so you can try it, break it, and help shape it.
# 1. Install ArcBox
curl -sSL https://install.arcbox.dev | sh
# 2. Start the daemon
arcbox start
# 3. Point Docker CLI at ArcBox
arcbox docker enable
# 4. Run a container
docker run -d -p 8080:80 nginx
# 5. Verify
curl http://localhost:8080To switch back to Docker Desktop at any time:
arcbox docker disable- macOS 13 (Ventura) or later
- Apple Silicon (M1/M2/M3/M4) -- Intel support is in progress
- Docker CLI installed (ArcBox replaces the Docker engine, not the CLI)
- ~500 MB disk space (runtime + boot assets)
ArcBox can already serve as a drop-in Docker engine for common workflows:
- Container lifecycle --
docker run,stop,rm,logs,exec,inspect - Image management -- pull from Docker Hub and OCI registries (ARM64)
- Port forwarding --
-p 8080:80maps host ports into containers - Volume mounts --
-v /host/path:/container/pathand named volumes - Container networking -- containers can reach the internet and resolve DNS
- Inter-container DNS -- containers on the same network resolve each other by name
- Docker Compose -- basic
docker-compose up/downfor multi-container projects - Docker context switching --
arcbox docker enable/disableto toggle between ArcBox and Docker Desktop - 40+ Docker API endpoints -- compatible with Docker Engine API v1.43
ArcBox is alpha software. The following features are not yet available:
| Feature | Status |
|---|---|
docker build |
Not implemented -- use docker buildx with a remote builder or pre-built images |
| x86/amd64 image support (Rosetta) | Not yet -- only ARM64 images work |
| Docker plugins / extensions | Not supported |
| Linux host | macOS only for now |
| GUI | CLI only -- a desktop app is planned |
Other things to be aware of:
- Cold boot takes a few seconds on first launch. Subsequent container starts are faster.
- Some advanced Docker API features (swarm, secrets, configs) are not implemented.
- Error messages may be less polished than Docker Desktop.
- If you hit a bug, please open an issue.
ArcBox uses Apple's Virtualization.framework with a custom VirtIO stack, zero-copy networking, and a purpose-built VirtioFS implementation. Our targets for the stable release (these are goals, not guarantees at this stage):
| Metric | ArcBox Target | Docker Desktop (typical) |
|---|---|---|
| Cold boot | < 2s | 5-10s |
| Idle memory | < 150 MB | 1-2 GB |
| Idle CPU | < 0.1% | 0.5-3% |
| File I/O (vs native) | > 90% | 50-70% (with VirtioFS) |
Current alpha performance varies. We are focused on correctness first, then optimization.
If you prefer to build ArcBox yourself:
# Clone
git clone https://github.com/arcboxd/arcbox.git
cd arcbox
# Build
cargo build --release
# Sign (required for macOS virtualization)
codesign --entitlements tests/resources/entitlements.plist --force -s - \
target/release/arcbox
# Run
./target/release/arcbox --help- Rust 1.85+ (install via rustup)
- Xcode Command Line Tools (
xcode-select --install) - musl cross-compiler for guest agent (optional):
brew install FiloSottile/musl-cross/musl-cross rustup target add aarch64-unknown-linux-musl
# Stop the daemon
arcbox stop
# Restore Docker Desktop as default
arcbox docker disable
# Remove ArcBox files
rm -rf ~/.arcbox
rm /usr/local/bin/arcbox
# Remove the launchd service (if installed)
launchctl bootout gui/$(id -u) ~/Library/LaunchAgents/dev.arcbox.daemon.plist
rm ~/Library/LaunchAgents/dev.arcbox.daemon.plistWe welcome contributions. See CONTRIBUTING.md for guidelines.
- Use
cargo clippy -- -D warningsbefore submitting - All code comments must be in English
unsafecode requires a// SAFETY:justification
- Core (
crates/) -- MIT OR Apache-2.0 - Pro (
pro/) -- BSL-1.1 (converts to MIT after 4 years)
See LICENSE for the full text.
Website -- Documentation -- Discord