Templates

Deploy a ready-made stack such as n8n, OpenClaw or a Next.js app with its database, and see what each template creates before anything exists.

Updated 4 November 2026

A template is a dekka.yaml blueprint that describes a working stack, so one deploy gives you the services, databases, volumes, variables and connections it needs. Some templates run open-source tools such as n8n, OpenClaw and Uptime Kuma from their published images, and others start a framework app from Dekka's example repositories.

Find a template

Choose Templates in the dashboard's sidebar to browse the library by category or search it. On a project's canvas, choose Add, then Template or dekka.yaml, to open the same library with the current environment already chosen. The public template gallery shows every template without signing in.

Each template's page shows what it creates as a small diagram, the values you need to provide, the secrets Dekka generates, the volume and memory each service gets, and links to the upstream project.

Deploy a template

  1. Open the template and choose the project and environment it goes into. You can also create a new project from here.
  2. Fill in its inputs. Secret inputs, such as API keys, are masked as you type, and required ones are marked.
  3. Choose Review changes. Dekka plans the template and lists everything it will create, and nothing exists yet.
  4. Choose Deploy, which names how many changes it applies, to create it all. The services appear on the canvas as they come up.

A plan works like any other set of staged changes, so you can leave it and come back, or discard it.

Inputs and generated secrets

Inputs are values only you can provide, such as an OpenRouter key for Hermes Agent. A required input left empty stops the plan with missing_input, which names each one, and an optional input left empty leaves its variable unset.

Generated secrets are values the template creates for itself, such as n8n's encryption key or OpenClaw's gateway token. Dekka generates each one when you plan, stores it as a secret, and never shows it in the plan. Secret inputs are stored the same way. To read a value later, open the service's variables on the Environment tab and press and hold it, which is recorded in your organisation's Activity.

A generated secret that a template keeps as a shared variable, such as N8N_ENCRYPTION_KEY, is created once and kept on every later plan, because the data it protects would become unreadable if it changed.

Memory, volumes and plan limits

Templates set the memory each service needs, and many community tools need more than the Free plan's 256 MiB per service. n8n, Hermes Agent, Umami, Uptime Kuma and Meilisearch need 512 MiB, which Starter allows, and OpenClaw, Open WebUI, LiteLLM, Flowise and Metabase need 1 GiB, which needs Growth. Plan limits are checked when you deploy, so a template over your plan's limits plans normally and then answers 403 entitlement_exceeded with the limit it would pass. Plans and limits lists every figure.

A service with a volume gets a 1 GB volume at the path its software expects, and runs a single replica. Volumes can grow later but never shrink.

Third-party software

Community templates run software that Dekka doesn't make or maintain. Each template names its licence and links to the upstream project, and the software's own terms apply to how you use it. n8n, for example, uses the Sustainable Use License, which limits some commercial uses.

Deploy a template with the API

GET /v1/catalog/templates lists every template with its metadata, inputs, generated secrets and resources, and needs no API key. Add ?category=ai to filter it. Planning takes the inputs by key and returns a changeset.

curl https://api.dekka.cloud/v1/environments/$ENVIRONMENT_ID/templates/hermes-agent/plan \
  -H "Authorization: Bearer $DEKKA_API_KEY" \
  --json '{ "inputs": { "OPENROUTER_API_KEY": "sk-or-…" } }'

Read the planned changes in the response, then deploy the changeset by its id.

curl https://api.dekka.cloud/v1/changesets/$CHANGESET_ID/deploy \
  -H "Authorization: Bearer $DEKKA_API_KEY" \
  --json '{ "confirm": true }'

A template only adds, so planning it where a resource of the same name already exists answers 409 name_taken. An input the template doesn't declare answers 422 unknown_input.

Every template

Template What it runs Category
n8n Workflow automation with Postgres Automation
n8n-workers n8n in queue mode with a worker and Redis Automation
openclaw A personal AI assistant for your chat apps AI
hermes-agent Nous Research's agent with an OpenAI-compatible API AI
open-webui A chat interface using models through the AI Gateway AI
litellm An OpenAI-compatible proxy in front of many providers AI
flowise A visual builder for AI agents and LLM workflows AI
umami Website analytics without cookies Analytics
metabase Dashboards and questions over your data Analytics
uptime-kuma Uptime monitoring and status pages Monitoring
meilisearch A typo-tolerant search engine Search
nextjs-postgres A Next.js app with Postgres Frameworks
fastapi-postgres-redis A FastAPI service with Postgres and Redis Frameworks
django-postgres A Django site with Postgres Frameworks
node-worker-queue A Node.js worker with a managed queue Frameworks
node-worker-redis A Node.js worker with Redis Frameworks
s3-bucket A private S3-compatible bucket Storage

The framework templates start from Dekka's example repositories, so point each service at your own repository in its settings once it exists. To make your own, see Writing templates.