Why
Apple shipped their own container tooling at WWDC25 — native virtualization, sub-second startup, per-container IP addresses, kernel isolation by design. All the right primitives, but CLI-only at launch.
Orchard is the desktop app that sits on top of it: a SwiftUI front-end that makes everything the container CLI can do reachable from a point-and-click interface, with a few things (multi-container log views, runtime stats) that are much nicer in a GUI than in a terminal.
Install
brew install orchard
Or grab a prebuilt .dmg from GitHub Releases.
What it does
- Containers — create, start, stop, force-stop, delete. Live status.
- Images — pull, delete, search Docker Hub, inspect metadata.
- Networks & DNS — manage networks and DNS domain configuration.
- Stats — live CPU, memory and network usage with sortable columns.
- Logs — multi-container log viewer with split panes, filtering, and per-container colour coding.
- System — builder, kernel and system property management, plus menu-bar integration for quick access.
How it’s wired
Orchard talks to the container daemon primarily through the ContainerAPIClient Swift library (from apple/container) over XPC. Typed Swift APIs, no shelling out to the CLI for the common path.
A handful of operations — system start/stop, builders, DNS domain management, system properties — still go through the container binary via Foundation.Process, because those aren’t exposed through the XPC API yet. As Apple expands the surface, those paths move behind XPC too.
Requirements
- macOS 26 (Tahoe)
- Apple Container installed
- Xcode 26 / Swift 6.2 — only if you’re building from source