# Getting started

Install Kuvo, point the docker command at it, and run your first container.

Kuvo is a native macOS app that runs the real Docker Engine in a small Linux virtual machine. You keep using the `docker` command, Compose and your existing scripts. Kuvo gives them an engine to talk to and a window to see what's running.

It's free for personal and other noncommercial use, its source is [on GitHub](https://github.com/serhatandic/kuvo), and it has no account or sign-in. Commercial use needs a separate license; see the [license](https://github.com/serhatandic/kuvo/blob/main/LICENSE).

## Your first container

1. [Download Kuvo](/docs/installation/) and move it to your Applications folder.
2. Open it. The first launch sets up the Linux VM, which takes a minute or so. After that, Kuvo is ready about three seconds after you open it.
3. Point the `docker` command at Kuvo:

   ```sh
   eval "$(kuvo env)"
   ```

4. Run something:

   ```sh
   docker run -d -p 8080:80 nginx:alpine
   ```

5. Open [localhost:8080](http://localhost:8080). The container also shows up in Kuvo's sidebar with its live resources and logs.

To make step 3 permanent, add the same line to `~/.zshrc`, or [create a Docker context](/docs/docker/#use-a-docker-context) instead.

## What you need

- A Mac with Apple silicon (M1 or later).
- macOS 15 Sequoia or later.
- An internet connection the first time you open Kuvo, to download Alpine Linux and Docker.
- The `docker` command. If you don't have it, see [The docker command](/docs/installation/#the-docker-command).

## Find the right guide

| I want to… | Start here |
| --- | --- |
| Use Docker and Compose with Kuvo | [Docker and Compose](/docs/docker/) |
| Learn my way around the window | [The app](/docs/app/) |
| Run commands in containers from scripts | [CLI reference](/docs/cli/) |
| Give a coding agent somewhere safe to work | [Coding agents](/docs/agents/) |
| Understand what's running on my Mac | [How it works](/docs/architecture/) |
| Fix something that isn't working | [Troubleshooting](/docs/troubleshooting/) |

## Coming from Docker Desktop

You don't need to uninstall Docker Desktop to try Kuvo. They use separate VMs and separate sockets, so images and containers aren't shared: anything you pulled in Docker Desktop needs pulling again in Kuvo.

Run only one of them at a time if you publish ports. Both forward container ports to `localhost`, and only one can listen on a given port.