Skip to main content
Updated October 19, 2026 A template is a ready app you deploy in a few clicks. Raff already knows its port, the page that says it is ready, the smallest size it runs on and, when it keeps data in Postgres, the database it needs. You get the app at its own https address, and you can add your own domain once it is live.

Templates

Three templates need a minimum size: Metabase and LibreTranslate need 1 vCPU · 2 GB, Stirling-PDF needs 0.5 vCPU · 1 GB. See Raff Apps templates for each one in detail.

Before you start

  • A Raff account and a project to create the app in.
  • For a template that keeps data in Postgres: your account’s free database still unused, or the $7.99 a month plan. Every account has one free database.

Steps

1

Open the templates

Go to Apps and click New service. On the Deploy an app page, choose Template.
2

Pick a template

Search, for example n8n, analytics or wiki, or browse Popular and the categories below it. A template that keeps its data in Postgres says Needs a database. or Works best with a database.
TODO: Template tab with the search box and the Popular group
3

Name it

Under App, set the Name. Address shows the https address the app gets. What it is is set by the template.
4

Pick a size

Raff preselects a size that suits the template. Sizes too small for it are turned off and say so, for example Too small for Metabase. You can change the size any time.
5

Choose the database

For a template that uses Postgres, the Database section offers No database (only when the template runs without one), Postgres, free and Postgres ($7.99 a month).Raff picks the free Postgres when your account’s free database is unused. Otherwise it picks No database for templates where Postgres is optional, and Postgres for Umami and Wiki.js, which do not start without one. Raff links the database before the first deploy and fills in the template’s own database settings.
6

Check the settings

Under Optional, Environment variables already holds what the template needs to start, for example the languages LibreTranslate loads (LT_LOAD_ONLY=en,es,fr) or Vikunja’s public address. Change them if you need to.
7

Deploy

Check the Summary and click Deploy. On a monthly account the app and its database are one order at checkout.

Verify

A template turns Live only when its own health page answers, not only when its port opens. When the app page shows Live, open the address and start using the app.

Keep your data

Without a database, n8n, Metabase, Grafana, Vaultwarden and Vikunja keep their data inside the app. That data is lost when the app restarts or redeploys. Pick Postgres for these apps when the data matters; you can also add a database later, see Add a Postgres database to an app. Uptime Kuma has no database option, so its data is lost on a restart or redeploy too.

Use the API

A template is a public image with known settings, so you create it like any image app. This creates n8n with a Postgres database you already have:
link_database_id is the database’s id (a UUID) from List databases. Leave it out to deploy without a database. When the image is a template’s image, the database link also fills in that app’s own database settings. Each template’s image, port, health check path and settings are listed in Raff Apps templates. For Metabase, LibreTranslate and Vikunja, which need settings to start, create the app without deploy_now, add the settings with "redeploy": false (see Set app environment variables), then start the first deploy with Create deployment and the body {}.

Next steps

Add a Postgres database

Keep a template’s data in Postgres.

Add a custom domain

Serve the app on your own domain.
Last modified on October 19, 2026