Docker & Linux containers, native to your Mac.
A free, open-source alternative to Docker Desktop and OrbStack. One lightweight SwiftUI app
that runs every container in a single shared VM, for a fraction of the memory.
⭐ If Dory saves you memory (or money), please star the repo. It genuinely helps others find it.
- One VM, all your containers. Dory builds on Apple's open-source container stack and boots a single persistent Linux micro-VM that runs everything, instead of one VM per container. Measured ~4.7× less idle memory than per-container VMs (2 containers: ~122 MB vs ~574 MB), and the gap widens with every container you add (methodology).
- Small and silent, permanently. A ~6 MB native app with ~0% idle CPU. No indexers, no phone-home, no fans. That's a design constraint, not a version note.
- Free for everyone, forever. No per-seat license, no "commercial use" tier, no account, no sign-in. GPL-3.0, full source right here. (A sourced comparison exists if you want one, so judge for yourself.)
- Your
dockerCLI just works. Dory serves the Docker API on~/.dory/dory.sockand registers adoryDocker context.docker run,docker compose, your existing scripts and tools drive it unchanged. - Native, not Electron. One Swift/SwiftUI app: menu-bar agent + full dashboard, launch animation to launch-at-login, light and dark. No Chromium, no Node, no telemetry.
Docker, complete
- Containers with live stats, logs, embedded terminal, env inspection; create / start / stop / restart / delete from the UI or CLI.
- Images: pull, build from a context folder, run, prune, registry sign-in, full inspect.
- Volumes (with a file browser) and networks (subnet / gateway / attached-container inspect).
- Compose:
up/downwith.env+ variable interpolation,depends_onordering, andservice_healthywaiting.
Kubernetes, one click
- k3s inside the shared VM with selectable Kubernetes versions.
- Cluster browser: pods, deployments, services, config maps, secrets, ingresses, all with live
health, pod exec, scale / restart / rollout controls, and
kubectl applyfrom the app.
Linux machines
- Full Ubuntu / Debian / Fedora / Alpine / Arch VMs with snapshots, terminal access, and use-case recipes (Node, Python, Go, Rust, …) that provision the machine ready-to-code, plus a composer to hand-pick runtimes, tools, and packages.
- Your home directory is shared into the engine, so
docker run -v ~/project:/appjust works.
Networking that disappears
- Published ports on
localhost, automatic*.dory.localdomains for every container, and local HTTPS issued by a local CA. All consent-gated, nothing installed silently. - x86/amd64 images run on Apple silicon via emulation.
Zero-friction start
- First launch walks you through everything, including a one-click install of Apple's
open-source
containertoolchain if it's missing. - Migration imports your images and containers from Docker Desktop or OrbStack.
See COMPATIBILITY.md for the honest, per-feature status matrix.
brew install --cask Augani/dory/dory…or download the notarized .dmg from Releases,
drag Dory to Applications, and open it. First launch guides you through the rest.
Dory selects a backend automatically; DORY_RUNTIME overrides it. All share one
ContainerRuntime protocol.
This release: Dory's own engine requires Apple silicon. The low-memory
dory-hvengine is a from-scratch Apple-silicon (ARM) hypervisor, so the self-contained, memory-efficient experience is Apple silicon only for now. Native Intel support is planned for a later update — see below.
- Apple silicon, macOS 15 (Sequoia) or later — full experience: Dory's own bundled engine, one
shared VM, low memory, Kubernetes, Linux machines,
*.dory.localdomains. Nothing else to install. - Intel Macs — Dory runs as a native front-end (app, CLI, and
dockercontext) for a Docker-compatible engine you install separately (Colima, Docker Desktop, Rancher Desktop, Podman, or OrbStack). There is no bundled engine on Intel yet; a native Intel engine (via Virtualization.framework) is on the roadmap for a later update. - Xcode 27 or later (to build from source).
scripts/build.sh # compile-check
scripts/test.sh # full test suite
scripts/shot.sh # build, launch, and screenshot the windowOr open Dory.xcodeproj in Xcode and Run.
These need a one-time admin grant (the same one OrbStack asks for) and are run by you, never silently:
scripts/enable-networking.sh # *.dory.local domains + trust the local CA
scripts/enable-kubernetes.sh # bootstrap k3s in the shared VMDory.app (SwiftUI)
│
▼
ContainerRuntime protocol ──► { Shared VM · Apple container · Docker API · Mock }
│
├─ doryd shim Docker REST API over ~/.dory/dory.sock
├─ Compose engine YAML → dependency DAG → reconcile
├─ engine services health state machine · event synthesis · anon-volumes
└─ Net LocalCA (TLS) · DomainRouter (*.dory.local) · port forwarding
Everything is dependency-light: the HTTP / unix-socket transport, YAML parser, and Docker-API
client and server are hand-rolled, so the build stays small and deterministic. The
Packages/ContainerizationEngine package links Apple's containerization framework to boot the
Linux VM in-process.
Portable dev machines you can back up and restore, remote access to your engine, and sandboxed environments for AI agents. Follow the releases, and open an issue if you want to shape what comes first.
Contributions are welcome. See CONTRIBUTING.md.
GPL-3.0 © 2026 Dory contributors.

