What is MultiDocker?
MultiDocker runs multiple docker-compose projects in parallel on macOS —
without editing the original compose files and without fighting over ports 80,
443, 3306 and friends.
Every project gets its own real hostname over HTTPS, for example
https://aurora.coding9.test, and several projects can run side by side at the
same time.
The problem it solves
Section titled “The problem it solves”Local development stacks all want the same ports. Start two Shopware projects and
the second one fails to bind :80. Publish a database on :3306 twice and one of
them loses. The usual workarounds — hand-editing every docker-compose.yml,
juggling .env port numbers, or only ever running one project at a time — are
tedious and easy to get wrong.
MultiDocker removes the conflict entirely: host ports are stripped from every project, a single shared reverse proxy owns 80/443, and each project is reached by hostname instead of by port.
The three building blocks
Section titled “The three building blocks”MultiDocker is made of three cooperating parts:
- Edge stack — one central Traefik v3 reverse proxy plus
Mailcatcher,
dnsmasqand a docker-socket-proxy, all on a shared Docker network calledmulti-docker-edge. Traefik owns ports 80/443 and routes<host>.<base-domain>to the right project container. - Override engine — for each project a
<name>.override.ymlis generated under~/.config/multi-docker/overrides/. It removes host port bindings, attaches the containers to the edge network and adds Traefik labels for hostname-based routing. Your original compose file is never modified. mdockerCLI — a single command that ties it together. It callsdocker composewithCOMPOSE_FILE=<original>:<override>, so the override is layered on top of the untouched original.
A native macOS app (SwiftUI) wraps the CLI as a graphical front-end — see The macOS App.
What you get
Section titled “What you get”- Parallel projects. Run as many stacks at once as your machine can handle.
- Real HTTPS domains. Trusted certificates via
mkcert, no browser warnings. - Untouched compose files. All customization lives in generated overrides.
- Host access to databases. Reach a project’s database from TablePlus or the CLI.
- Batteries included. Mail catching, per-project git status, public demo tunnels, database snapshots and AI terminal sessions.
Next steps
Section titled “Next steps”- New here? Read How It Works for the end-to-end flow.
- Ready to install? Start with Requirements.
- In a hurry? Jump to the Quickstart.
Cookie settings
We only use statistics tools if you allow it. Necessary storage keeps this site working; everything else is off until you decide.
Stores your choice from this dialog in your browser (localStorage). No cookie, no transfer to third parties.
Google Analytics 4 via Google Tag Manager, to measure how the site is used. Loaded only after you allow it.