Development documentation may include features that are not in the latest release. Read the Lawn 0.8.1 guide.
Field guide
Introduction
Learn how to create app templates for Lawn.
The built-in catalog is community-driven. Want to contribute an app? Open a PR on GitHub. You can also add custom catalogs from public Git repositories or local folders in Lawn Settings.
Create app templates
This section covers how to create app templates for Lawn. The built-in templates live in the getlawn/templates repository on GitHub. You can also keep templates in a public Git repository or local folder and add them as a custom catalog.
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. Templates may require user configuration, such as an API key or account details, before the app can start.
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 for Compose configuration and extension strings, such as setting labels and notice content. App names and descriptions remain in the manifest
- A required SF Symbol fallback for the catalog and installed instance. Hosted artwork and local icon files are optional
- 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