Templates

Templates

Pre-configured multi-service stacks that deploy databases and applications with one command

Templates are pre-configured multi-service stacks that deploy databases, applications, and supporting infrastructure in one command. Each template handles container images, ports, volumes, auto-generated credentials, and inter-service wiring automatically.

Seed database templates

Ink ships with four database templates, each provisioned with persistent storage, auto-generated credentials, and sensible defaults.

SlugImagePortVolumeKey env vars
postgresqlpostgres:175432/var/lib/postgresql/dataPOSTGRES_USER, POSTGRES_PASSWORD (generated), POSTGRES_DB, DATABASE_URL
redisredis:76379/dataNone (unexposed, no auth)
mysqlmysql:83306/var/lib/mysqlMYSQL_ROOT_PASSWORD (generated), MYSQL_DATABASE, DATABASE_URL
mongodbmongo:727017/data/dbMONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD (generated), DATABASE_URL

All database templates default to 0.5 vCPU and 512Mi memory with persistent volumes attached.

Community templates

Beyond the seed databases, 1,400+ community templates cover observability stacks (Grafana + Prometheus + Loki + Tempo), CMS platforms (Directus), API gateways (OpenClaw), AI/ML stacks, and more. Browse the full catalog at ml.ink/deploy.

Deploying templates

Search templates

The template_list tool searches and lists available templates. It requires no authentication.

template_list(search: "postgres")

Deploy a template

The template_deploy tool deploys a template and returns connection info.

Tool Call
(
  : "postgresql",
  : "my-db"
)
{
  "serviceId": "svc_abc123",
  "name": "my-db",
  "status": "deploying",
  "internalUrl": "my-db:5432",
  "connectionString": "postgresql://ink:generated-password@my-db:5432/ink"
}
# List all templates
ink template

# Search templates
ink template postgres

# View template details and variables
ink template info postgresql

# Deploy a template
ink template deploy postgresql --name my-db

# Deploy with variable overrides
ink template deploy postgresql --name my-db --var POSTGRES_USER=admin --var POSTGRES_DB=myapp

One-click deploy from the project canvas or the template catalog at ml.ink/deploy.

Template features

Auto-generated credentials

Passwords and secrets are randomly generated at deploy time. The agent receives them as outputs — no manual password management required.

Persistent volumes

Every database template attaches a persistent volume at the appropriate data directory. Data survives container restarts and redeployments.

Internal networking

Services in the same project resolve each other by hostname. A PostgreSQL template deployed as my-db is reachable at my-db:5432 from any sibling service.

Configurable variables

Templates define required and optional variables with defaults. Override any variable at deploy time to customize the stack.

Connection strings

After deployment, template_deploy returns structured outputs including connection strings, internal URLs, and generated credentials — ready to pass as environment variables to dependent services.

On this page