Your Docker Compose stack, drawn as a map — not a wall of YAML.
Dockyard turns docker-compose.yml into a live, drag-and-drop
topology canvas, with automatic port-conflict detection and per-container
monitoring built in. Works with whatever Docker engine you already run.
macOS 14 (Sonoma) or later · Apple Silicon · 14-day free trial at launch, no credit card
Every interface diagram on this page, including this one, is an illustrative concept of Dockyard's UI — not a captured screenshot. Dockyard is in active development; real screenshots will replace these before launch.
Everything a local Compose workflow needs, in one window
One native app instead of four terminal tabs, a text editor, and a mental model you're rebuilding from scratch each time.
Visual Topology Canvas
Drag-and-drop services, networks, and volumes on a live canvas synced straight to your docker-compose.yml.
Port Conflict Detection
See exactly which process holds a port before you hit Up, and reassign or kill it with one confirmed click.
Live Monitoring
Per-container CPU, memory, and network with rolling history charts — not just a single instantaneous number.
Safe Compose Editing
Automatic backups and a reviewable diff before every write, with a single write-owner queue per file.
Docker Pruner
Reclaim disk space with a full breakdown: dangling images, stopped containers, unused volumes, build cache.
Bring Your Own Engine
Works with Docker Desktop, OrbStack, Colima, or Rancher Desktop — auto-detected, nothing to reconfigure.
Multi-Project Dashboard
Every compose project on your Mac, monitored from one board — not one terminal tab per project.
Built-in Terminal
A Metal-accelerated terminal per service and per host — logs and shells without leaving the app.
Alert Rules
Get notified when a container's CPU, memory, or restart count crosses a threshold you set.
See the whole stack — and drag it into shape
Every service, network, and volume in your compose file becomes a node you can drag, connect, and edit — changes flow straight back into the YAML.
- Auto-laid-out from your existing docker-compose.yml — no diagram to draw by hand
- Drag a service to reposition it, or draw a new dependency by connecting two nodes
- Click any node to edit its ports, environment variables, volumes, and networks in place
- Add a brand-new service straight from a Docker Hub search, without leaving the canvas
- Multi-file compose projects (override files) are merged and shown as one coherent map
Inspector — web
Know what's already using that port — and fix it in one click
Dockyard scans every port declared in your compose file before you hit Up, and tells you exactly what's already sitting on it.
- Flags real listening conflicts — not UDP traffic or an unrelated established connection on the same port
- Shows the owning process name and PID, not just "port busy"
- Reassign the service to a free port permanently, or run it on an alternate port just for this session
- Confirms before killing any process, and re-verifies it still owns the port at the moment you click
- Reloads the project state after any fix, so the next save can't silently recreate the conflict
postgres · 5432
In use by postgres (PID 4821)
redis · 6379
Available
web · 8080
In use by com.docker.backend (PID 512)
Watch CPU, memory, and network per container — not just per host
A rolling history chart per service, updated in real time, so you notice a memory leak building instead of finding out after the crash.
- Per-container CPU %, memory, and network I/O, refreshed every second
- Rolling history charts, not just an instantaneous number
- Alert rules notify you when a container crosses a CPU, memory, or restart-count threshold you set
- Heavy queries poll every ~5s, lightweight stats every ~1s — the UI never stutters waiting on Docker
- One dashboard across every open project, not just the one you're staring at
web
CPU 12%
api
CPU 86%
postgres
CPU 4%
Every write to your compose file starts with a backup and a diff
Automatic backups, a before/after diff you can review, and a single write-owner queue mean two edits at once can't silently clobber each other.
- A timestamped backup is saved before any edit touches disk
- Review a line-by-line diff before — or after — any change lands
- One serialized write-owner per compose file, so a canvas edit and a manual YAML edit can't race
- File-watching detects changes made outside Dockyard and offers to reload instead of overwriting them
- Restore any previous backup in one click if a change goes wrong
services:
web:
image: myapp/web:latest
- ports:
- - "8080:80"
+ ports:
+ - "8081:80"
Bring your own Docker engine
Dockyard doesn't run its own container runtime — it drives whatever docker and docker compose CLI is already on your Mac, and auto-detects which engine that is.
- Auto-detects Docker Desktop, OrbStack, Colima, or Rancher Desktop from your active Docker context
- No daemon reimplementation, no second VM running alongside the one you already have
- Reclaim disk space with a full breakdown: dangling images, stopped containers, unused volumes, build cache
- Nothing about your existing Docker setup has to change to start using Dockyard
Detected engine
Reclaimable space
Not just another container list
Docker Desktop, lazydocker, and OrbStack are all fine tools — they just weren't built to show you the shape of your stack, or to sell you a license once instead of every month.
| Feature | Dockyard | Docker Desktop | lazydocker | OrbStack |
|---|---|---|---|---|
| Visual drag-and-drop topology canvas | Yes | List view only | Terminal UI | List view only |
| Automatic port-conflict detection & fix | Yes | No | No | No |
| Works with any Docker engine | Desktop, OrbStack, Colima, Rancher | Is Docker Desktop | Yes | Is its own engine |
| Live per-container resource history charts | Yes | Instantaneous only | Instantaneous only | Instantaneous only |
| Automatic compose-file backups & diffs | Yes | No | No | No |
| Pricing model | $34 once | Free personal, subscription for business | Free & open-source | Free personal, $8+/mo for commercial |
Based on each product's publicly documented features at the time of writing. Docker Desktop, lazydocker, and OrbStack are trademarks of their respective owners; Dockyard isn't affiliated with or endorsed by any of them.
Your compose files never leave your Mac
Dockyard is a native app that runs entirely locally — there's no relay server in the loop for parsing, editing, or monitoring. See the privacy policy for exactly what the app does send.
Fully local execution
Dockyard's Rust core shells out to your own local docker CLI. No daemon reimplementation, no relay server, no dataset ever leaves the machine.
Offline license verification
License keys are checked on-device with an Ed25519 signature — no activation server, no phone-home, works fully offline once purchased.
Your files stay yours
docker-compose.yml and .env files are read and written in place, in your project folder — never copied into hidden app storage.
Backups before every write
Every edit that touches a compose file is backed up first, with a diff you can review and a one-click restore.
Built for whoever's tired of docker compose ps
Solo developers & indie hackers
Spin up a multi-service local stack and actually see how it fits together, without memorizing which container depends on which.
Small backend & platform teams
Debug a flaky local environment fast: see which container is hogging CPU, which port is stolen, and by what.
Agencies & consultants
Hop between a dozen client projects without losing track of which compose file does what.
Teaching & bootcamps
A visual mental model of how containers talk to each other beats a wall of YAML for students meeting Compose for the first time.
DevOps-curious backend engineers
Learn Compose topology by seeing it drawn out, not by tracing indentation levels in a YAML file.
Anyone tired of four terminal tabs
Stop tab-switching between logs, stats, and a text editor just to know whether your stack is even up.
One license. Yours forever. No subscription.
A Personal license is a one-time purchase that includes a year of updates. Dockyard keeps working after that year — renewing is optional, not required.
Trial
- Every feature unlocked — canvas, monitoring, port tools
- A day only counts if you opened the app that day
- Becomes a read-only viewer after the trial, not locked out entirely
Personal
- Use on every Mac you personally own
- Keeps working forever — no forced expiry, ever
- Optional renewal after year one, ~$15–17/yr
- Priority email support
Team
- Everything in Personal, for every seat
- Invoice-friendly purchasing
- Seat management for your team
14-day money-back guarantee — see the refund policy.
Questions, answered
Do I still need Docker Desktop, OrbStack, or Colima?
Yes — Dockyard isn't a container runtime. It drives whatever Docker engine is already running on your Mac (Docker Desktop, OrbStack, Colima, or Rancher Desktop), auto-detected from your active Docker context. Dockyard is the visual orchestration and monitoring layer on top.
How is this different from Docker Desktop's built-in Compose view, lazydocker, or OrbStack?
Those show your containers as a list or a terminal table. Dockyard shows them as an editable topology map, detects port conflicts before you hit Up and lets you fix them in one click, and charts each container's resource history over time instead of just an instantaneous number. See the full comparison.
Does my docker-compose.yml or container data ever leave my Mac?
No. Parsing, editing, monitoring, and port scanning all run locally inside Dockyard's Rust core, which shells out to your own local docker and docker compose CLI. The only network calls the app makes are license verification and update checks.
What does the trial include, exactly?
Every feature, for 14 days of actual use — a day only counts if you opened the app that day, so an intermittently-used trial doesn't quietly expire while you're busy with other work. No credit card required.
What happens when the trial ends?
Dockyard becomes a read-only viewer — you can still see your projects and containers, but starting, stopping, or editing anything requires a license.
Is it a subscription?
No. A Personal license is a one-time purchase that includes a year of updates. The app keeps working after that year, indefinitely — renewing for another year of updates is optional, at roughly $15–17.
Can I use one license on more than one Mac?
Yes — a Personal license covers every Mac you personally own. See the license agreement for the exact terms.
What's your refund policy?
A full refund within 14 days of purchase, no questions asked. See the license agreement or email [email protected].
Stop tab-switching between four terminals.
14-day free trial, no credit card, and early-bird pricing this month.