pub struct Template {Show 18 fields
pub id: String,
pub name: String,
pub image_name: String,
pub is_public: bool,
pub is_runpod: bool,
pub is_serverless: bool,
pub category: Option<TemplateCategory>,
pub container_disk_in_gb: i32,
pub container_registry_auth_id: Option<String>,
pub docker_entrypoint: Option<Vec<String>>,
pub docker_start_cmd: Option<Vec<String>>,
pub earned: Option<f64>,
pub env: Option<EnvVars>,
pub ports: Option<Vec<String>>,
pub readme: Option<String>,
pub runtime_in_min: Option<i32>,
pub volume_in_gb: i32,
pub volume_mount_path: String,
}Expand description
Template resource containing deployment configuration and metadata.
A Template is a reusable configuration that defines how Pods and Serverless endpoints should be deployed, including Docker image, resource requirements, environment variables, and networking settings.
§Template Lifecycle
- Creation: Define template with
TemplateCreateInput - Usage: Reference template when creating Pods or Serverless endpoints
- Updates: Modify template with
TemplateUpdateInput(triggers rolling releases) - Sharing: Make public to share with community and earn revenue
- Management: Track usage statistics and earnings through template metadata
§Revenue Model
Public templates can generate revenue for their creators:
- Users pay standard RunPod rates for compute resources
- Template creators earn a percentage of compute costs
- Earnings are tracked in the
earnedfield
Fields§
§id: StringA unique string identifying the template. This ID is used to reference the template when creating Pods or Serverless endpoints.
name: StringA user-defined name for the template. The name must be unique within your account and should be descriptive of the template’s purpose or use case.
image_name: StringThe Docker image tag for containers deployed from this template. Can reference public images from Docker Hub, private registry images, or images from other container registries with appropriate authentication.
is_public: boolWhether the template is visible to other RunPod users.
true: Template is public and can be used by any RunPod userfalse: Template is private and only accessible to the creator
is_runpod: boolWhether this is an official template managed by RunPod. Official templates are curated, maintained, and optimized by the RunPod team for popular frameworks and use cases.
is_serverless: boolWhether the template is designed for Serverless workers or Pods.
true: Template creates Serverless workers (auto-scaling, event-driven)false: Template creates Pods (persistent, long-running instances)
category: Option<TemplateCategory>The compute category of resources defined by this template. Determines the type of hardware acceleration available to deployed instances.
container_disk_in_gb: i32The amount of disk space, in gigabytes (GB), allocated on the container disk. Container disk provides fast local storage but data is wiped when instances restart. Use for temporary files, caches, and application data that doesn’t need persistence.
container_registry_auth_id: Option<String>The unique identifier for container registry authentication. Required when the template uses private Docker images that need authentication to pull from protected container registries.
docker_entrypoint: Option<Vec<String>>Override for the Docker image ENTRYPOINT.
If specified, replaces the ENTRYPOINT defined in the Docker image.
If None or empty, uses the ENTRYPOINT from the Docker image.
docker_start_cmd: Option<Vec<String>>Override for the Docker image start command.
If specified, replaces the CMD defined in the Docker image.
If None or empty, uses the CMD from the Docker image.
earned: Option<f64>The total RunPod credits earned by the template creator. Represents cumulative earnings from all Pods and Serverless workers created from this template by other users. Only applies to public templates.
env: Option<EnvVars>Environment variables to be set in containers deployed from this template. These variables are available to the running application and can be used for configuration, secrets management, and runtime customization.
ports: Option<Vec<String>>A list of ports exposed on deployed Pods or Serverless workers.
Each port is formatted as [port number]/[protocol] where protocol
can be either http or tcp. Example: ["8888/http", "22/tcp"]
readme: Option<String>Markdown-formatted documentation for the template. Displayed in the RunPod UI when users browse or select templates. Should include usage instructions, requirements, and configuration details.
runtime_in_min: Option<i32>Runtime statistics for the template (in minutes). Tracks total runtime across all instances deployed from this template. Used for usage analytics and optimization insights.
volume_in_gb: i32The amount of disk space, in gigabytes (GB), allocated on the local Pod volume. Pod volume provides persistent local storage that survives instance restarts. Use for data, models, and files that need to persist across restarts.
volume_mount_path: StringThe absolute filesystem path where the Pod volume is mounted.
This is where the persistent storage will be accessible within the container.
Common paths include /workspace, /data, or /app/storage.