Overview
A template is the recipe half of a deploy. The offer you rent supplies the GPU; the template supplies everything else — the image, how the container starts, the environment variables and ports it gets, and the hardware it needs. Launch the same template onto a different offer and you get the same environment on different silicon.
Templates live at Templates in the console. Every deploy names one.
What a template pins
| Group | Fields | Detail |
|---|---|---|
| Image | image, tag, optional repo and link | Create a template |
| Launch | launch_mode, args_str, Jupyter options | Launch modes |
| Startup | onstart | On-start scripts |
| Environment | env entries, each optionally marked secret | Environment variables |
| Ports | container ports, protocols, labels | Ports |
| Constraints | minimum CUDA, minimum VRAM, architecture, VM-capable, recommended disk | Create a template |
| Registry | username and password for a private image | Private registries |
| Docs | description and readme | Create a template |
A template also carries two identifiers: a stable id that never changes, and a hash_id that is re-minted whenever the launch recipe changes. See Share and duplicate.
The three visibility levels
| Visibility | Who can read it | Who can edit it | Where it appears |
|---|---|---|---|
system | everyone | nobody — curated by Superheat and immutable through the API | Recommended tab, marked Curated |
private | your organization only | your organization | My Templates |
public | everyone | the owning organization only | Popular tab and search, for everyone |
You choose private or public when you create a template. system is not a value you can set: those templates are seeded by Superheat, belong to no organization, and any write against one returns TEMPLATE_IMMUTABLE. To build on a curated template, duplicate it — the copy is yours and starts out private.
Secret environment values are masked for everyone outside the owning organization, in every visibility level. Nothing else is: a public template hands its image, arguments, on-start script, ports and non-secret environment to anyone who opens it.
Anything you paste into onstart, args_str or a non-secret environment value is readable by every Superheat user once the template is public. Put tokens and keys in environment entries marked secret.
Finding a template
The gallery has five tabs.
| Tab | Shows |
|---|---|
| Recommended | curated system templates, in Superheat's order |
| My Templates | every template your organization owns, most recently updated first |
| My Recent | templates your organization has actually deployed, most recent first |
| Popular | system and public templates, ordered by launch count |
| Serverless | a placeholder — auto-scaling endpoints ship in a later release |
Above the grid, a search box matches on name, description and image. Chips filter by launch mode (SSH, Jupyter, args, VM), by an arm64 architecture constraint, and by a declared minimum CUDA of 11.8, 12.1 or 12.4. The CUDA chips match the template's cuda_min exactly rather than treating it as a floor, so a template that declares 12.6 is not returned by the 12.4 chip.
Ownership
Templates belong to an organization, never to a user. If you belong to more than one organization, switching changes what My Templates and My Recent show, and decides which organization owns anything you create. Over the API, the X-Org-Id header makes the same choice.
Deleting a template removes it from the gallery. Instances already deployed from it keep running and are unaffected.
Next
- Create a template — the form, field by field
- Launch modes — pick
args,ssh,jupyterorvm - Choosing a template — picking one at deploy time
- Templates — the concept, in one page