Development workspaces
A Linux machine you work in every day, with an HTTPS address for your dev server, that sleeps when you step away.
A box makes a good daily workspace: a real Linux machine with its own disk, up in seconds, reachable from any laptop you log in from. Your files stay put between sessions, and you pay for RAM only while it runs.
kvbox new dev --size m --auto-hibernate 2h
kvbox connect devm is 4 vCPU and 8 GB of RAM; kvbox vm rescale dev --size l later if it is not enough (see Sizes).
Already in the box
The base image is Ubuntu 24.04 with:
- Languages: Node.js 22 with npm, Python 3 with pip and venv, and
uv. - Docker with Buildx and Compose; the
kvboxuser is in thedockergroup. - Claude Code (
claude). - A browser: headless Chrome (
chromium) andagent-browser, for tests and agents that drive a page. - Tools: git, curl, nginx, nano, less, unzip.
The kvbox user has passwordless sudo, so sudo apt install adds anything else.
Your editor
kvbox ls --json gives each box's host, port and user, so plain ssh, scp, rsync and an editor's Remote-SSH (VS Code, Cursor, Zed, JetBrains Gateway) reach the box with the key the CLI keeps. Through kvbox.sh your access is a certificate that lasts a day; any kvbox connect renews it.
Your dev server, live
Give the box an HTTPS address and point it at your dev server's port:
kvbox claim dev mydev --port 5173 # https://mydev.kvbox.app
kvbox vm proxy add dev 8080 --name api # https://api.mydev.kvbox.appWebSockets work, so hot reload does too. Anyone with the address can open it: put a login in front of anything private. See Publish ports.
What stays with the box
- Files: the box's disk survives stop, start and host reboots.
- Variables and secrets:
kvbox env setonce, and every box of yours has them (Environment variables). - A volume for data you want to keep apart from the box, or move to another box (Volumes).
- A snapshot of a set-up workspace:
kvbox snapshots new dev dev-ready, thenkvbox new --from dev-readygives a teammate, or a second branch, the same machine in under a second (Snapshots).
When you step away
With --auto-hibernate 2h, the box hibernates two hours after its last network traffic: its memory goes to disk and it stops costing RAM. kvbox connect, kvbox exec or a visit to its HTTPS address wakes it in under a second, with your processes and dev server where you left them.
A long build running with nobody connected looks idle: give the box a timeout longer than the job, or kvbox vm set dev --auto-hibernate off while it runs. See Stop, pause, hibernate.
Working together
Make the box in an org and its members can connect to it too (Orgs):
kvbox new dev --org acme