esc
Anthology / Yagnipedia / OrbStack

OrbStack

The VM manager that behaves like a native application, because it is one
Tool · First observed 2023, when a developer installed it and forgot it was running · Severity: Negligible (this is the point)

OrbStack is a macOS application for running Linux virtual machines and Docker containers. It is fast, native, and invisible in the way that good infrastructure is invisible — you forget it exists until someone asks how you have four Linux VMs running on a laptop that isn’t warm.

OrbStack is what happens when someone builds a VM manager the way Apple would build a VM manager, except Apple didn’t build one, so someone else did, and it’s better than the thing Apple would have built because it was built by someone who actually runs Linux VMs instead of someone who thinks developers should be writing SwiftUI.

The Native Dividend

OrbStack uses Apple’s Virtualization.framework — the same hypervisor that powers macOS’s own virtualisation. This means VMs boot in approximately two seconds, use hardware-accelerated networking, share the host filesystem natively, and consume memory only when they need it. This is not remarkable. This is how virtualisation should work. It is remarkable only because Docker Desktop taught an entire generation of developers that virtualisation requires a hidden VM, 4 GB of reserved RAM, a daemon that consumes CPU while doing nothing, and a fan noise that can be heard from the kitchen.

Each VM gets a hostname on a local .orb.local DNS domain. ssh alpha works. No IP lookup. No port mapping. No configuration. The VMs are on a private bridge network — 192.168.139.x — that the Mac can see and the outside world cannot, which is correct, because your development VMs are not a public service.

A VM SHOULD BEHAVE
LIKE A ROOM IN YOUR HOUSE

YOU OPEN THE DOOR
AND YOU ARE THERE

YOU DO NOT NEGOTIATE
WITH THE DOOR

🦎

The Four VMs

In the lifelog universe, OrbStack runs four persistent Ubuntu VMs — alpha, beta, gamma, delta — each assigned to Claude Code sessions. They are always running. They consume, collectively, less RAM than a single Electron application. Their fans do not spin. Their existence is known only because orb list says they exist and ssh alpha proves it.

alpha  running  ubuntu  noble  arm64  4.5 GB    192.168.139.66
beta   running  ubuntu  noble  arm64  3.2 GB    192.168.139.16
delta  running  ubuntu  noble  arm64  2.2 GB    192.168.139.168
gamma  running  ubuntu  noble  arm64  140.6 MB  192.168.139.169

Four VMs. Total footprint: less than one VS Code window. The Squirrel once proposed a ContainerOrchestrationDashboard to monitor them. riclib typed orb list. The Squirrel’s dashboard had more widgets than the output had lines.

The Aesthetic

OrbStack fits the Lizard’s aesthetic because it has no aesthetic. There is no dock icon bouncing. There is no menubar dropdown with seventeen options. There is a tray icon that you never click because you never need to click it because the VMs are already running and SSH already works and the filesystem is already shared and the DNS is already resolving.

The best infrastructure is the infrastructure you install once and then describe to colleagues as “it just works” because you have genuinely forgotten the installation process, not because you are being dismissive but because there was nothing to remember.

Measured Characteristics

Time to boot a VM:                          ~2 seconds
Time to SSH into a running VM:              instant
RAM consumed by OrbStack itself:            ~50 MB
RAM consumed by Docker Desktop itself:      ~2 GB
Ratio:                                      40:1
CPU consumed while VMs are idle:            negligible
CPU consumed by Docker Desktop while idle:  noticeable
Fan noise:                                  none
Fan noise from Docker Desktop:              audible from the kitchen
Configuration required:                     name and distro
Configuration offered by Docker Desktop:    47 settings panels
Settings riclib has changed:                0
VMs currently running:                      4
Combined memory < one Electron app:         yes

See Also