Convert

Convert docker-compose.yml into an architecture diagram.

A Compose file is a complete description of a small system written in a format that hides its shape.

Download for macOS
v0.1.33 · .dmg · Apple Silicon & Intel
Signed & notarized by Apple · opens without a Gatekeeper warning
sha256 698955a0187bc039f4c74f5d05a9f10fbb27376a45788a0a241d1326b73873c7
Download for Windows instead
$curl -fsSL https://lucidtrain.com/install.sh | sh

What maps cleanly

Services become components. Images identify tiers by recognisable name, so postgres and redis land in data while nginx lands at the edge. Published ports mark what is externally reachable and named volumes mark what holds state, which is the distinction most worth having when someone is deciding what can be restarted.

The edges are partly inferred

depends_on gives explicit edges and is usually incomplete, because it only controls startup ordering and many teams stop maintaining it. The more informative edges come from environment variables where one service names another's address, and from shared network membership. Those inferred edges are the ones worth checking.

Best used for onboarding

A Compose file is the first thing a new engineer runs and among the last they understand. Putting the generated diagram in the README turns a file people copy commands from into an explanation of what they just started.

Fidelity

Comes throughDoes not
servicesOne component each
depends_onExplicit edgesOften incomplete in practice
portsMarks external reachability
volumesMarks stateful, data tier
networksReachability grouping
environment referencesInferred edgesWorth verifying
healthcheckAs a note
Production topologyCompose describes local, not production

The prompt

shell
$ Read docker-compose.yml and diagram the stack: services, dependencies, what holds state, and what is exposed.
FAQ

Questions

Does it need Docker installed?

No, it reads the YAML file.

Multiple compose files?

Yes, including the override pattern. Merging them first gives the most accurate result, since that is what Compose itself would use.

Is this useful for production?

As a starting point you then correct. Terraform or Kubernetes manifests describe production far better.

Related