Deploy a template
A template is a ready-made Docker Compose app — n8n, Plausible, Ghost, MinIO and more — with pinned images, health checks, inputs and generated secrets. Deploying one creates a Compose site in your project and starts its first deployment.
Prerequisites
Section titled “Prerequisites”- A server of type app, web or worker with Docker installed, and enough free memory for the template (each template lists a minimum).
- Permissions:
templates.view,projects.manageandsites.create. Withoutdeployments.create, the site is created but not deployed.
Deploy
Section titled “Deploy”- On the canvas: + Create → Template, or open Templates from the workspace sidebar, or ⌘K → “Deploy template…”.
- Search or browse by category and open a template.
- Configure it:
- Inputs: fill in what the template asks for. Secrets are generated for you (hidden behind Show / Regenerate).
- Domains: one per public service — a generated
sslip.ioname (the default without a test domain), the test domain, or your own domain with the DNS records to add and a live check. - Servers: pick one or more. Falak warns when a stateful template is deployed to more than one server, because each server gets its own volumes.
- Name: optional; defaults to the template name.
- Click Deploy. The site appears on the canvas as a group of its Compose services, and its panel opens on the deploy stream.
When the health checks pass, open the public URL. Most apps then ask you to finish their own setup (create the first admin, and so on).
What gets created
Section titled “What gets created”| Item | Value |
|---|---|
| Site | Runtime compose, source inline (the template’s compose.yaml), strategy compose |
| Variables | Every input, stored encrypted. Generated secrets are generated once and stay stable across redeploys. |
| Public services | From the template, each with its domain and a loopback host port |
| Template link | template: {slug, version, source} on the site, so you know where it came from |
| Named volumes | Persist across releases (project name = site slug) |
Falak placeholders in the template are rendered once at creation: ${{ falak.url(<service>) }} (the service’s https URL), ${{ falak.domain(<service>) }} and ${{ falak.site }} (the slug).
After deploying
Section titled “After deploying”- Change inputs in the site’s Variables and redeploy.
- Edit the Compose file under Settings → Compose (inline, versioned, with history).
- Back up volumes yourself: Falak’s database backups cover Falak-managed databases, not databases inside templates.
Through the API
Section titled “Through the API”curl -X POST "https://falak.example.com/api/v1/projects/01j…/production/templates/uptime-kuma/deploy" \ -H "Authorization: Bearer $FALAK_TOKEN" -H "Accept: application/json" -H "Content-Type: application/json" \ -d '{"server_ids": ["01k…"], "inputs": {"TIMEZONE": "Europe/Berlin"}, "domains": {"uptime-kuma": {"type": "generated"}}}'See Templates API.
Next steps
Section titled “Next steps”Template catalogAll 32 templates with their inputs.
Custom templatesImport your own or save a site as a template.