Skip to main content
One command and you have a full Ubuntu 24.04 VM with Docker, Python, Go, Claude Code, Codex, gh, nginx, and the usual tools, reachable over SSH and at https://name.boxd.sh. Typical boot time is ~50ms.

How it works

boxd new provisions a KVM microVM on a worker, attaches a fresh 100 GB disk, brings up the network stack, and registers a default proxy that forwards https://name.boxd.sh to port 8000. TLS is terminated for you, HTTP redirects to HTTPS, HSTS is set, and WebSockets pass through. The image is real Ubuntu 24.04 (unminimized) with the runtimes and CLI tools youโ€™d install on a fresh laptop already in place. You land as the boxd user with passwordless sudo. Pick a name, run the command, start working.

Use it

ssh boxd.sh new --name=myapp
No install required. Your SSH key is your identity. --json works here too.
Then jump in:
ssh myapp.boxd.sh
If you skip --name, boxd generates one like blue-river.

Whatโ€™s already installed

Each box ships with a developer-ready Ubuntu 24.04:
  • Languages: Python 3 (with uv, pipx), Go, build-essential, Node.js 24 via nvm
  • Agents: Claude Code (claude), Codex (codex), pre-wired with AGENTS.md context
  • Containers: Docker, Docker Compose, Buildx
  • Web: nginx pre-installed on port 8000 (start it when you want it), headless Chrome
  • Tools: git, gh, jq, ripgrep, sqlite3, rsync, ffmpeg, ImageMagick, mitmproxy
  • Editors: vim, neovim, plus full SSH for Cursor/VS Code/Zed/JetBrains
Specs per VM: 2 vCPU, 8 GiB RAM, 100 GB disk. You can run up to 10 VMs (extendable on request).

Custom images

Every box boots from computer:latest, a curated Ubuntu 24.04 image we maintain. Same image across the fleet, prewarmed on every worker, which is how fresh boots stay around ~50ms. Need something different? A different base distro, your own pre-installed toolchain, a specific CUDA stack, a slimmer surface area? Email contact@boxd.sh with what you want baked in. We package it, register it as a template on the cluster, distribute it to every worker, and prewarm it. Your VMs then boot from your image with the same sub-second cold start as the default.

Recipes

Serve something instantly

boxd new --name=hello
ssh hello.boxd.sh 'python3 -m http.server 8000' &
open https://hello.boxd.sh
The default proxy forwards name.boxd.sh to port 8000. Any HTTP server on 8000 is live.

Change the default port

boxd proxy set-port --vm=myapp --port=3000
Use --port=auto to let boxd detect whichever port your app started listening on.

Stop paying when idle

Boxes auto-suspend after 30s of network idle by default. Resume is sub-millisecond on the next request.
boxd auto-suspend --vm=myapp --timeout=60s

FAQ

Each box is a full KVM microVM with its own kernel, network stack, persistent disk, and public IP. systemd runs as PID 1, Docker works without nesting tricks, and the filesystem survives reboots.
The 100 GB disk persists across reboots, suspends, and resumes. Only destroy removes it.
EU-hosted on sovereign infrastructure.

Next

https://mintcdn.com/azin/Ax1V0serIwQf0x_2/images/icons/copy.svg?fit=max&auto=format&n=Ax1V0serIwQf0x_2&q=85&s=f3623fe516eebf87b33b3a1022852286

Fork from a golden

Skip the install step. Warm copies of your app in ~160ms.
https://mintcdn.com/azin/Ax1V0serIwQf0x_2/images/icons/global.svg?fit=max&auto=format&n=Ax1V0serIwQf0x_2&q=85&s=c8aae834f6a656b39b1a152b1fd5242f

Live demos & share URLs

Every box has a real HTTPS URL the moment a port is open.