This repository is the source for Sealos App Store templates. Use the published templates to deploy applications quickly, or add a new template/<app-name>/ directory to contribute an application template.
- Browse available templates in the Sealos App Store or the
template/directory. - Open the template documentation and click the "Deploy on Sealos" button.
- Configure and deploy by filling in the required parameters.
Template authoring quick links:
- Start from template.yaml and place the finished file at
template/<app-name>/index.yaml. - Add
README.md,README_zh.md, an icon, andwebsite-screenshot.webpnext to the template file. - Built-in variables/functions use
GitHub Actions-style syntax; see example.md. - A complete FastGPT example and database Cluster YAML examples (MongoDB/PostgreSQL/MySQL/Redis/Kafka/Milvus/ClickHouse) are in example.md.
Your app will be running in minutes.
- How to create a template - Create your own application template
- Template usage tutorial - Step-by-step guide for using templates
- example.md - Detailed template development guide
- template.yaml - Template reference file
Create a template by adding a directory under template/<app-name>/. Each template directory should contain the deployable YAML, user-facing documentation, and visual assets used by the App Store.
Copy template.yaml into a new app directory:
mkdir -p template/my-app
cp template.yaml template/my-app/index.yamlUpdate the metadata, image references, inputs, resource names, readme links, icon, and screenshot URLs for your application.
A complete template directory usually includes:
template/my-app/
├── index.yaml
├── README.md
├── README_zh.md
├── logo.png
└── website-screenshot.webp
Use logo.svg or another image format when it fits the upstream project asset better. Keep the English and Chinese READMEs focused on how the deployed app is used on Sealos.
Template files are divided into two main parts:
- Metadata CR: Template information, default values, and user inputs
- Kubernetes Resources: StatefulSet, Service, Ingress, etc.
For detailed explanation, see example.md.
The system provides built-in environment variables and functions. Use GitHub Actions-like syntax:
# System built-in variable
${{ SEALOS_NAMESPACE }}
# Function to generate random string
${{ random(8) }}
# User input variable
${{ inputs.your_parameter }}See Built-in system variables and functions for complete reference.
The FastGPT example demonstrates how to create a complete template with:
- Default application name and hostname
- User-configurable inputs (API key, password, database type)
- Multiple Kubernetes resources (database, application, ingress)
You can add a "Deploy on Sealos" button to your project's README:
[](https://sealos.io/products/app-store/your-app-name)<a href="https://sealos.io/products/app-store/your-app-name">
<img src="https://sealos.io/Deploy-on-Sealos.svg" alt="Deploy on Sealos"/>
</a>Replace your-app-name with your template's metadata.name from the Template CR.
We welcome contributions! Follow these steps:
- Fork this repository
- Create a branch for your template or improvement
- Add or update one
template/<app-name>/directory - Test your template on Sealos before submitting
- Submit a pull request with a clear description and verification notes
- Naming: Use lowercase, hyphen-separated names (e.g.,
my-awesome-app) - Description: Write clear, concise descriptions
- Documentation: Include English and Chinese usage instructions
- Assets: Include an icon and a current application screenshot
- Defaults: Provide sensible default values for all inputs
- Resources: Set reasonable resource limits (CPU/memory)
- Sealos Documentation
- Sealos App Store
- Issues - Report bugs or request features
- Discussions - Ask questions and share ideas
This repository follows the Sealos project license.
