v0.1.0 · The first public release →

Docker for your Mac.
None of the weight.

Kuvo is a native macOS app that runs the real Docker engine in a small Linux VM. A 3 MB download, ready about three seconds after you open it.

Free and open source. macOS 15 or later, Apple silicon.

Kuvo showing a Compose project's containers, live resource graphs and logsKuvo showing a Compose project's containers, live resource graphs and logs
Every container, its resources and its logs in one window. SwiftUI, no web view.Read the docs →
3 MBDownload size
~3 sLaunch to docker ready
~5%Idle CPU, VM included
2Processes
The app

Everything running.
At a glance.

One window for your containers and Compose projects. It feels like a Mac app because it is one, and it stays quiet when you're not using it.

Compose

Projects stay together.

Compose services sit under their project. Start, stop or remove a whole stack at once, and take its volumes with it when you mean to.

Read the docs →
A Compose project in the sidebar with its four services, CPU graphs and merged logs
Resources

Live numbers. No cost when hidden.

CPU, memory and network update every second while you're looking. Close, minimize or cover the window and Kuvo stops collecting them.

Read the docs →
CPU, memory and network graphs for a container
Logs

Every service, one stream.

Logs keep the colors your programs print. Select a Compose project and its services are merged in time order, each labeled in its own color.

Read the docs →
Merged logs from a web server and a worker, labeled by service
Terminal

A shell in every container.

Press ⌃` for a terminal beside the logs. Prefer your own terminal app? Open the container there, or run kuvo shell.

Read the docs →
A terminal pane open next to a container's resource graphs and logs
Real Docker

The engine you know.
The flags you know.

Kuvo doesn't change how you use Docker. It gives the docker command a fast, small engine to talk to, and an app to see what it's doing.

The real Docker Engine

dockerd from Alpine Linux, not a reimplementation. The docker CLI, Compose and your scripts work unchanged.

Ports on localhost

Published ports show up on 127.0.0.1 as soon as a container starts. Nothing to configure.

Bind mounts just work

/Users is shared at the same path inside the VM, so -v $PWD:/app means what you expect.

Intel images too

linux/amd64 images run through Rosetta at close to native speed on Apple silicon.

Menu bar

Every container one click away, with the window closed.

Archive

Stop a container and keep it for a while. Kuvo cleans it up after the period you choose.

Light and dark

Follows macOS, or pick one. Glass that picks up your wallpaper.

Made for agents

A CLI with plain output and real exit codes, so coding agents can work in a container instead of on your Mac.

For you and your agents

A CLI that reads well.
For people and agents.

The kuvo command ships inside the app and lands on your PATH. Plain output and real exit codes let a coding agent create a container, copy code in and run it, without touching your Mac.

CLI reference →
Compared

Lighter than Docker Desktop.
Measured, not guessed.

Same Mac, the same three idle containers: nginx, redis and postgres. CPU is summed over every process each app runs, VM included.

Kuvo 0.1Docker Desktop 4.85
App size, installed4.3 MB2.1 GB
Engine ready after launchabout 3 sabout 4.5 s
Idle CPU, window open5.2%8.9%
Memory, app and VM0.87 GB1.5 GB
Processes212

One machine, one afternoon. Your numbers will differ. How we measured

Ready when you are

One download.
Then docker run.

Open Kuvo, wait a few seconds, and the docker command you already have talks to it.

Download for macOS

macOS 15 or later, Apple silicon.

Point docker at Kuvo.

Use an environment variable, or a Docker context if you switch between engines.

eval "$(kuvo env)"

Don't have the docker command? Install it without Docker Desktop →

Rather build it yourself? Build from source →