Lawn Compose
Validation
How to validate compose files for correctness before shipping a template.
Custom templates are not yet supported in the app. For now, we're temporarily curating the catalog. Support for importing and sharing custom templates is coming soon.
Compose files should be validated before shipping to catch syntax errors, missing variables, and misconfigured services.
Syntax check with Docker Compose
Since compose files follow the Compose Specification, you can validate syntax with:
docker compose -f lawn-compose/v1.0.0.yaml config
This checks that the file is valid YAML and conforms to the spec. Templates use standard ${VAR:-default} substitution, so no preprocessing is needed.
Manifest validation with lawn-validate
lawn-validate is currently a private alpha tool. When released in the public beta, this functionality will be available as lawn compose validate.lawn-validate validate checks your manifest and compose files for Lawn-specific issues — missing fields, invalid icons, misconfigured health checks, and circular dependencies.
# Validate a specific template
lawn-validate validate path/to/template
# Validate all bundled templates
lawn-validate validate --all
| Option | Description |
|---|---|
--all | Validate all bundled templates |
--output <format> | Output format: text (default) or json |
For full end-to-end testing (pulling images, starting containers, running health checks), see Testing.
Continue reading