Skip to content

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.

  • 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.manage and sites.create. Without deployments.create, the site is created but not deployed.
  1. On the canvas: + Create → Template, or open Templates from the workspace sidebar, or ⌘K → “Deploy template…”.
  2. Search or browse by category and open a template.
  3. 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.io name (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.
  4. 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).

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

  • 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.
Terminal window
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.