Skip to main content

Template System Overview

AI Admin Panel includes a curated catalog of 45 templates for deploying services with a single click. Templates define everything needed to run a service: Docker Compose configuration, environment variables, health checks, resource requirements, and routing rules.

Categories

CategoryCountDescription
AI Services23LLM inference, chat interfaces, AI automation
Databases5Relational and NoSQL databases
DevTools7Development, CI/CD, monitoring tools
Web Apps10Content management, collaboration, analytics

How Templates Work

Each template is a YAML specification stored in the panel's embedded catalog at internal/templates/catalog/{category}/. When you deploy a template, the panel:

  1. Reads the YAML spec and presents configurable variables in the UI
  2. Generates a Docker Compose file with your variable values substituted
  3. Adds Traefik labels for automatic routing and SSL
  4. Applies resource limits based on the template's minimum requirements
  5. Starts the container and monitors the health check

Template YAML Structure

name: uptime-kuma
displayName: Uptime Kuma
description: Self-hosted monitoring tool
category: devtools
version: "1"
featured: false

logo: uptime-kuma.svg

compose:
services:
uptime-kuma:
image: louislam/uptime-kuma:1
volumes:
- data:/app/data
restart: unless-stopped

volumes:
data:

variables:
- name: SERVICE_NAME
label: Service Name
type: string
required: true

minResources:
cpu: 0.5
memoryMB: 256
storageMB: 1024

healthcheck:
path: /
port: 3001
interval: 30s
timeout: 10s

expose:
port: 3001
protocol: http

securityProfile: secure

Key Fields

FieldDescription
composeStandard Docker Compose spec — the panel generates the final file from this
variablesUser-configurable fields shown in the deploy form
minResourcesMinimum CPU, memory, and storage requirements
healthcheckHow the panel verifies the service is running
exposeWhich port and protocol Traefik should route to
securityProfileSecurity classification (see below)

Variables

Templates define variables that users fill in during deployment. Variable types include:

TypeDescriptionExample
stringFree-text inputService name, hostname
passwordAuto-generated or user-provided secretDatabase password
numberNumeric inputPort number, worker count
selectDropdown with predefined optionsModel size, storage engine
booleanToggle switchEnable/disable features

Variables marked required: true must be provided before deployment. Optional variables use their default value if not set.

Security Profiles

Each template declares a security profile that controls container capabilities:

ProfileDescriptionConstraints
secureDefault. Runs with minimal privileges.No host networking, no privileged mode, no extra capabilities
advancedNeeds specific capabilities (e.g., GPU access).May request specific Linux capabilities or device access
rawFull Docker access (use with caution).No restrictions — user accepts responsibility

The panel displays the security profile in the template detail view so administrators can make informed decisions.

Custom Templates

You can add custom templates by deploying via the Compose Deploy method with a raw Docker Compose file. The panel supports magic variables in compose files for dynamic value substitution:

  • {{SERVICE_NAME}} — the service name
  • {{DOMAIN}} — the auto-assigned subdomain
  • {{PASSWORD}} — auto-generated secure password

For recurring custom deployments, you can save compose configurations as reusable templates through the API.

Template Logos

Each template includes an SVG logo displayed in the catalog. Featured templates appear in a highlighted section at the top of the catalog page with larger logo cards.

Resource Validation

Before deploying, the panel checks that the target server has sufficient resources for the template's minResources requirement. If resources are insufficient, the deploy is blocked with a clear error message showing what is needed versus what is available.