Introduction

GitHub
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.