Komodo is an open-source control plane for Docker: stacks, containers, images, and builds across many hosts from a single panel — with every stack config backed by git. Enterprise control plane, included at €0/mo — multi-factor authentication optional, your cat on the keyboard counts.

Why a control plane at all

Past three or four compose files across more than one machine, you need: a single place to see what's running, git as the source of truth, and deploys that don't depend on which terminal you left open. Komodo does all three, plus alerting and per-container actions.

The pattern that works

  • One repo per stack. compose.yaml, a README, nothing else. Private repos, main branch.
  • Git provider = deploy trigger. Push to the repo, a webhook deploys the stack. Config drift dies.
  • Bind mounts for everything. Data lives in plain directories on the host — visible, movable, backup-friendly.
  • Secrets in the platform's environment store , never in the repo.
  • Core + periphery agents. One core server; a lightweight agent per machine dials home. Adding a machine is one compose file.

Good habits

  • Auto-update carefully: floating :latest tags are fine for apps, but never for databases — pin majors there.
  • Never run docker volume prune on a host with named volumes you care about. Remove volumes by explicit name only.
  • Ownership matters on shared storage: when containers run unprivileged, host-side directory permissions decide whether a deploy lives or dies.
  • A webhook returning 200 doesn't mean a deploy happened — verify in the stack's update history, not the delivery log.