Introduction
Learn how to create app templates for Lawn.
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.
This section is for developers who want to create app templates for Lawn. If you just want to use Lawn, you can skip this.
What is a template?
A template is a self-contained package that tells Lawn how to install and run an application. It contains everything needed to go from "click install" to a running app — no manual setup required.
Every template includes:
- A manifest that describes the app — its name, category, description, and how to reach its web UI
- An icon displayed in the catalog and on the installed instance
- One or more compose files that define the containers, environment variables, volumes, and ports the app needs to run
- Optional init files that are copied into the container before it starts, for things like default configuration
Compose files aim to be compatible with the Compose Specification, extended with x-lawn keys for Lawn-specific features like health checks, environment metadata, and notices.
Continue reading