compose
Write a docker-compose file with the YAML quoting that silently changes meaning already handled.
Compose files are YAML, and YAML has opinions about your data. `8080:80` unquoted is a sexagesimal number, not a port mapping. An environment value of `no` becomes the boolean false. A version like `1.20` loses its trailing zero. None of these announce themselves — the container just behaves oddly.
Everything that needs quoting gets quoted. Beyond that it fixes the readiness problem: `depends_on` on its own only waits for a container to start, not to be usable, so a service with a healthcheck gets `condition: service_healthy` and one without gets told why it did not. It also refuses to emit a `version:` key, which has been ignored since Compose v2 and now just prints a warning.
What people open it for
- Writing a compose file for an app and its database
- Making a service wait until its database is genuinely ready
- Avoiding the YAML quoting traps in ports and environment values
- Getting healthchecks and named volumes declared correctly