Skip to main content
List, search, and manage templates for Pods and Serverless endpoints.

Alias

You can use tpl as a shorthand for template:

Subcommands

List templates

List available templates:

List flags

string
Filter by template type (official, community, user).
int
default:"10"
Maximum number of results to return.
int
Number of results to skip for pagination.
bool
Include all templates including user templates.

Search templates

Search for templates by name:

Search flags

string
Filter by template type (official, community, user).
int
default:"10"
Maximum number of results to return.
int
Number of results to skip for pagination.

Get template details

Get detailed information about a specific template, including README, environment variables, and exposed ports (with their labels):

Create a template

Create a new template:
Pod templates vs Serverless templates: Templates are either for Pods or for Serverless endpoints, not both. Pod templates support storage and are used with runpodctl pod create. Serverless templates do not support volume disks and are used with runpodctl serverless create. Use the --serverless flag when creating templates for Serverless endpoints.

Create flags

string
required
Template name.
string
required
Docker image (e.g., runpod/pytorch:2.8.0-py3.11-cuda12.8.1-cudnn-devel-ubuntu22.04).
int
default:"20"
Container disk size in GB.
int
Persistent volume size in GB.
string
default:"/workspace"
Volume mount path.
string
Comma-separated list of ports to expose (e.g., 8888/http,22/tcp).
string
Display names for the ports the template exposes, shown next to each port in the Runpod console. Provide comma-separated port=name pairs (e.g., 22=ssh,8888=jupyter lab) or a JSON object (e.g., {"22":"ssh","8888":"jupyter lab"}). This flag requires --ports, and every labeled port must also appear in --ports. The pair form splits on commas, so use the JSON form for any label name that contains a comma.
string
ID of the container registry authentication used to pull the image from a private registry. Find the ID with runpodctl registry list.
string
Environment variables as a JSON object (e.g., '{"KEY":"value"}').
string
Comma-separated Docker start commands.
string
Comma-separated Docker entrypoint commands.
bool
Create as a Serverless template. Serverless templates do not support volume disks (--volume-in-gb is not supported). Each Serverless template can only be bound to one endpoint at a time.
string
Template README content.

Update a template

Update an existing template:

Update flags

string
New template name.
string
New Docker image name.
string
New comma-separated list of ports.
string
New display names for the template’s exposed ports, as port=name pairs or a JSON object. Pass an empty value (--port-labels "") to remove all port labels.
string
New container registry authentication ID for pulling private images. Pass an empty value (--registry-auth-id "") to detach registry credentials from the template.
string
New environment variables as a JSON object.
string
New README content.
int
New container disk size in GB.

Delete a template

Delete a template: