Introduction
Learn how to create app templates for Lawn.
The catalog is community-driven. Want to add an app? Open a PR on GitHub. Support for custom catalogs from other sources is coming soon.
This section covers how to create app templates for Lawn. All templates live in the getlawn/templates repository on GitHub.
Looking to use Lawn rather than build templates? Head to the Get Started guide instead.
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
- One or more compose files that define the containers, environment variables, volumes, and ports
- A localization file that provides all user-facing strings — display names, descriptions, option labels, and notice content
- An icon displayed in the catalog and on the installed instance
- Optional init files copied into the container before it starts, for default configuration
Compose files are compatible with the Compose Specification, extended with x-lawn keys for Lawn-specific features like health checks, config options, and notices.
Continue reading