Skip to content

andrew-waters/orchard

Repository files navigation

Orchard

Orchard is a native (Swift) macOS application for managing Linux containers using Apple's container tooling.

It has been based on years of experience with Docker Desktop, but dedicated to the new containerization option.

The ambition of the project is to make it easy for developers to switch from Docker Desktop to Containers. Orchard gives you a desktop experience that complements the container command-line interface.

container overview screen

Highlights of Containerization

  • Made by Apple: Native support, incredible performance and the engineering resources to make it work.
  • Sub second startup times
  • Kernel isolation by design
  • Easier networking - no more port mapping (every container gets its own IP address), networks out of the box

Features

  • Container management: create, start, stop, force stop, delete
  • Image management: pull, delete, search Docker Hub
  • Network and DNS domain management
  • Real-time container stats with sortable columns
  • Sortable container and image lists with persistent preferences
  • Multi-container log viewer with split panes, filtering, and per-container colour coding
  • Container log viewer with search highlighting
  • Builder, kernel and system property management
  • Menu bar integration

Requirements

Architecture

Orchard communicates with the container daemon primarily through the ContainerAPIClient Swift library (from apple/container) over XPC. This provides typed Swift APIs for container, image, network, and system operations without shelling out to the CLI.

A small number of operations (system start/stop, builders, DNS domain management, system properties) still use the container CLI binary via Foundation.Process, as these are not yet exposed through the XPC API.

Installation

You can build from source or download a prebuilt package.

Prebuilt

  1. Download the latest release from GitHub Releases
  2. Open the .dmg file and drag Orchard to your Applications folder
  3. Launch Orchard - you may need to go to System Settings > Privacy & Security and click "Open Anyway" to allow the app to run

Build from Source

git clone https://github.com/andrew-waters/orchard.git
cd orchard
open Orchard.xcodeproj

The project uses Swift Package Manager for dependencies. Xcode will resolve the apple/container package automatically on first build.

License

This project is licensed under the MIT License - see the LICENSE file for details.

About

A GUI for Apple Containers, written in swift

Topics

Resources

License

Stars

Watchers

Forks

Contributors