Deployment Templates
Build reusable cloud-init, Unattend.xml, network, and post-install templates to provision bare-metal servers consistently in FluxBilling.
What deployment templates are for
Deployment templates are reusable configuration recipes that turn a freshly imaged bare-metal server into a ready-to-use workload. Each template bundles the first-boot configuration a machine needs — user accounts, packages, network settings, and post-install scripts — so the same setup can be applied consistently every time you provision or re-provision a server.

Where to find the templates page
Deployment templates live inside the bare-metal settings area. To open them:
- Open Settings from the admin sidebar.
- Select the Bare Metal tab.
- Click the Templates sub-tab (alongside Overview and OS Images).
The Bare Metal settings tab only appears when the inventory feature is enabled for your platform. If you do not see it, the bare-metal feature is turned off.
Reading the template list
Templates are shown as a grid of cards. Above the grid is a row of category filter chips — All Templates plus one chip per category, each showing a count of active templates. Click a chip to narrow the grid to that category. A search box below the chips lets you filter by name or description; type a term and press Enter.
Each template card shows:
- A colored category icon in the top-left corner.
- A System badge (amber) on built-in templates, and an Inactive badge (gray) on any template that is currently disabled.
- The template name and a short description.
- A pill showing the template type, plus one pill per compatible OS family (for example, linux or windows).
- Edit and Delete actions in the card footer. (Delete is hidden on system templates.)
Template categories
Categories are just an organizational label that drives the icon and the filter chips. The available categories are Basic Server, Web Server, Database, Docker, Kubernetes, Security, Windows, and Custom.
Template types
| Type | What it produces |
|---|---|
| Cloud-init (Linux) | First-boot configuration for Linux servers, written in cloud-config YAML. |
| Unattend.xml (Windows) | An answer file that automates Windows setup. |
| Network Config | Static or DHCP network settings in Netplan v2 YAML. |
| Post-install Script | A Bash or PowerShell script that runs after the OS is installed. |
| Combined Template | Bundles cloud-init, network config, and a post-install script into one selectable option. |
Creating a template
- Click New Template (top-right of the page).
- Fill in the Name — this is what staff see when picking a template.
- Enter a Slug, or click Generate to derive one automatically from the name. The slug is a short, unique identifier (lowercase, hyphenated).
- Choose a Category and optionally add a Description.
- Pick a Template Type.
- Fill in the relevant content tab(s) — see below.
- Set the Compatibility options.
- Click Save Template. (Save stays disabled until both Name and Slug are filled in.)
Content tabs
Inside the editor, the content area has four tabs. You only need to fill in the ones relevant to your template type; a Combined Template can use several at once.
- Cloud-init
- The cloud-config user data (YAML) for Linux. The editor pre-fills an example showing hostname, a sudo user, SSH keys, and a package list.
- Unattend.xml
- The Windows answer file (XML).
- Network
- Network configuration in Netplan v2 YAML.
- Post-install
- A shell or PowerShell script that runs once the OS is installed.
Variables and templating
Template content supports placeholders that are filled in at provisioning time. Use:
{{variable}}— substitutes a value (for example{{hostname}}or{{username}}).{{#each array}} ... {{/each}}— repeats a block for each item in a list (such as multiple SSH keys).{{#if condition}} ... {{/if}}— includes a block only when a condition is met.
Field reference
| Field | Purpose |
|---|---|
| Name | Display name for the template. Required. |
| Slug | Unique identifier; use Generate to create one from the name. Required. |
| Category | Organizational grouping that sets the icon and filter chip. |
| Description | Short summary shown on the card. |
| Template Type | Determines which content this template provides. |
| OS Families | Checkboxes for Linux, FreeBSD, and Windows — controls which servers the template is offered for. |
| Active | When unchecked, the template is hidden from selection but kept on file. |
Validating content
Inside the editor, the content toolbar has a Validate button. Click it to check the syntax of the current cloud-init or Unattend.xml content. A green Syntax is valid banner confirms a clean template; a red banner shows the error so you can fix it before saving.
Previewing rendered output
For templates that have already been saved, a Preview button appears at the top of the editor. Preview renders the template using sample values (a sample hostname, username, and SSH key) and opens a Template Preview window so you can confirm exactly what the final cloud-init or Unattend.xml output will look like.
Preview is only available after a template has been saved — a brand-new, unsaved template has no Preview button yet. Save first, then reopen it to preview.
Compatibility and the Active toggle
The Compatibility section controls where and whether a template is offered. Tick the OS Families the template supports so it is only suggested for matching servers. Use the Active checkbox to retire a template without deleting it — inactive templates are excluded from selection but remain editable.
System templates
Templates marked with the System badge ship with the platform. They cannot be deleted, and their core fields (name, slug, category, type, and content) are locked for editing — you will see a System template (limited editing) note in the editor. You can still toggle a system template active or inactive. If you want a customized version, create a new template instead of trying to edit the system one.
Editing and deleting
- Edit — click the pencil icon on a card to reopen the editor and change content, compatibility, or the Active state.
- Delete — click the trash icon (shown only on non-system templates) and confirm. Deletion is permanent.
Applying a template to a server
Templates take effect when you provision or reinstall a bare-metal server. When you start a reinstall from a server's details, you will see a Deployment Template (Optional) dropdown. Pick a template, or leave it on No template (basic install) for a plain OS install. As the dropdown hint notes, templates include pre-configured cloud-init scripts for common setups, so choosing one applies your saved configuration during the install.
A template only runs when the install actually invokes it. A plain OS install with No template selected will not apply any cloud-init or post-install steps.
