Templates

Templates are ready-to-run apps you can deploy in one step: starters for each language, and complete apps like n8n, Directus, and Umami. Browse them at velixir.net/templates. Each one lives in a public repository on GitHub, so you can read exactly what you're deploying.

From the dashboard

Open a template and click Deploy this template. The create form opens with the template already picked:

  • If the template uses a Postgres database or a Valkey cache, the form lists it with its monthly price, ticked. Untick it to skip it and bind your own later.
  • Plans the template can't run on are greyed out, for example plans without enough memory, or the Free plan for templates that have to stay awake.

velixir creates the app, creates and binds the database or cache, and deploys. The first deploy waits until the database or cache is ready, so the app starts with its connection string already in place.

From the CLI

velixir templates                                   # list them
velixir deploy --template umami                     # create the app and deploy it
velixir deploy --template umami --with-services     # ...and create its database without asking

At a terminal, the CLI shows what a template's database or cache would cost and asks before creating it. In scripts and CI it creates none unless you pass --with-services (or skip them explicitly with --no-services). Other options: --name <name> for the app name, --plan <plan-id>, and --no-tail to return without waiting. The services prompt and flags need CLI 2.0.5 or later.

From the API

  • GET /api/v1/templates lists the templates and the services each one uses. No key needed.
  • POST /api/v1/templates/{slug}/deploy creates the app and deploys it. It needs a key with Write permission and takes an optional JSON body: name, projectId, planId, and withServices (default false, so nothing billable is created unless you ask).

Without a planId, an API deploy uses the Free plan when the template fits it, otherwise the cheapest plan that does. Without a projectId, the app goes into your first project.

After it's deployed

The app is yours: a normal velixir app with its own releases, settings, and logs. To change the code, clone the template's repository (linked from its page), make your changes, and ship them with velixir deploy --app <your-app-id> or a GitHub Actions workflow.

Apps with an admin account, like n8n, Directus, and Umami, create it on first boot and print the generated password once in the app's logs. The template's README explains how to reset it.