Dory
A free, open-source native macOS app that brings Docker, Compose, Kubernetes, full Linux desktops, and agent automation into one native SwiftUI workspace for Apple Silicon Macs.
At a Glance
Fully free, GPL-3.0 licensed. No account, no telemetry, no paid tiers.
Engagement
Available On
Alternatives
Listed Jul 2026
About Dory
Dory is a self-contained local development runtime for macOS that ships its own Docker 29 engine, Compose v2, one-click Kubernetes via k3s, full graphical Linux desktops, and a versioned agent automation surface — all in a single native SwiftUI app. It requires no Docker Desktop, no external VM manager, no account, and no telemetry. The project is licensed under GPL-3.0 and stores all workload data locally on the user's Mac.
What It Is
Dory is a macOS-native alternative to Docker Desktop and OrbStack, positioned as a complete local Linux workspace rather than just a container dashboard. It bundles the Docker engine and CLI tools, Compose, Buildx, BuildKit, Kubernetes (k3s), managed Linux desktop VMs (Debian 13, Ubuntu 24.04 LTS, Kali rolling), headless Alpine servers, migration tooling, diagnostics, and a structured MCP-based agent interface. The app is built in Swift and SwiftUI, uses Hypervisor.framework on macOS 15+ and Virtualization.framework on macOS 14, and currently targets Apple Silicon exclusively — the project notes that Intel support will follow after dedicated hardware validation.
Modular Component Architecture
Rather than shipping one large monolithic download, Dory 0.3.2 uses a signed, removable component model. Docker Core (224.1 MiB download, 409.3 MiB installed) is the only required piece and includes the engine, CLI, Compose, Buildx, networking, storage, migration, and health tools. Optional signed components — Kubernetes, Linux Machines, Linux Desktop Runtime, Debian 13, Ubuntu 24.04 LTS, and Kali Linux — are downloaded separately and stored inside the user-selected .dorydrive. Each component can be removed independently without deleting workload data.
- Docker Core: engine, CLI, Buildx, Compose v2, registries, networking, storage, migration
- Kubernetes: kubectl and local k3s workflow (v1.34–v1.36)
- Linux Machines: headless Alpine VPS-style guests
- Desktop packs: Debian 13, Ubuntu 24.04 LTS, or Kali rolling Xfce desktops (arm64)
Linux Machines and Desktop VMs
Dory Linux machines are persistent, separate VMs — not containers. Graphical machines run native arm64 Debian 13, Ubuntu 24.04 LTS, or Kali rolling with systemd, Xfce, Bash, a configurable login user, a Retina-sharp resizable display, and a 64 GiB thin-provisioned disk. Headless machines use a lightweight Alpine profile for services, terminals, test environments, and agent workloads. Each machine has its own disk, address, resources, scoped Mac folder shares, and snapshot/clone/export support. The app's sidebar provides direct access to create, start, stop, snapshot, and open a desktop or terminal for each machine.
Agent Automation Surface
Dory treats automation as a first-class product surface. It publishes a versioned JSON contract (agent-guide.json), a stdio MCP server implementing protocol version 2025-11-25, stable non-interactive CLI schemas, wait primitives, and event streams. The MCP server exposes tools including dory.doctor, dory.engine_status, dory.machine_list, dory.machine_exec, dory.sandbox_run, dory.wait, and dory.events. A --read-only flag blocks machine execution and sandbox writes. A preview sandbox command creates a dedicated isolated Linux VM per run with no host file access by default, explicit mount scoping, optional rollback, TTL cleanup, and network policy enforcement.
Migration and Storage Model
Dory's migration tooling detects running Docker Desktop, OrbStack, Colima, Rancher Desktop, Podman, and other Docker-compatible sockets. It performs a read-only preflight inventory showing objects, capacity, collisions, and the exact copy plan before any write. The transactional import can preserve image content and tags, named volume data, custom networks, container configuration, writable layers, port bindings, and workload state. The source is never deleted. All workload data lives in one managed .dorydrive on local APFS storage, with sparse growth from 128 GiB to 2 TiB, verified backup/restore, and external drive support.
Update: Dory 0.3.2 — Focused Components Release
The latest release is v0.3.2, published on 2026-07-17, described as the "Focused components" release. It introduces the modular Docker Core plus optional signed component model, replacing a single large download. The release notes are available on GitHub. The project had accumulated 1,054 GitHub stars as of the latest data. Current known boundaries include Apple Silicon-only support, no audio passthrough, experimental in-guest GPU acceleration, and a preview agent sandbox with outbound network policy not yet narrower than full egress.
Community Discussions
Be the first to start a conversation about Dory
Share your experience with Dory, ask questions, or help others learn from your insights.
Pricing
Free & Open Source
Fully free, GPL-3.0 licensed. No account, no telemetry, no paid tiers.
- Docker Core: engine, CLI, Buildx, Compose v2, networking, storage, migration
- Optional signed components: Kubernetes, Linux Machines, Debian, Ubuntu, Kali desktops
- Native SwiftUI macOS app
- MCP agent automation server
- Active diagnostics and repair
Capabilities
Key Features
- Native SwiftUI macOS app (no Electron, no browser runtime)
- Docker 29 engine, CLI, Buildx, BuildKit, and Compose v2 bundled
- One-click local Kubernetes via k3s (v1.34, v1.35, v1.36)
- Full graphical Linux desktops: Debian 13, Ubuntu 24.04 LTS, Kali rolling (Xfce, arm64)
- Headless Alpine Linux VMs for services, terminals, and agents
- Modular signed component architecture with exact download sizes
- One managed .dorydrive with sparse growth, backup, verify, and restore
- Migration from Docker Desktop, OrbStack, Colima, Rancher Desktop, Podman
- Versioned MCP stdio server for agent automation (protocol 2025-11-25)
- Preview isolated agent sandbox VMs with no host file access by default
- Active diagnostics, targeted repair, and safe dry-run cleanup
- Auto-Idle, Battery Saver, Always On, and Manual Stop availability modes
- Automatic and custom local domains, trusted HTTPS, low port support
- Retina-sharp resizable Linux desktop display
- Machine snapshots, clone, import, and export
- No account, no telemetry, no remote control plane
- Signed and notarized release with CycloneDX SBOM
- USB/IP device attach and replay
- SSH-agent forwarding support
- Homebrew cask install support
