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
OptionDescription
--allValidate 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.