Crear una plantilla
Abra Plantillas → Nueva plantilla. El formulario tiene ocho secciones; solo Nombre e Imagen son obligatorios, y todos los demás campos tienen un valor predeterminado que funciona — Modo empieza en Args. Esta página los recorre en orden.
Datos básicos
| Campo | Acepta | Notas |
|---|---|---|
| Nombre | obligatorio, hasta 80 caracteres | Único dentro de su organización, comparado sin distinguir mayúsculas de minúsculas. Una colisión devuelve TEMPLATE_NAME_TAKEN. Dos organizaciones distintas sí pueden usar el mismo nombre. |
| Descripción | hasta 4,000 caracteres | La línea única que se muestra en la tarjeta. |
| Visibilidad | Privada o Pública | Privada solo la ve su organización. Pública hace que la receta sea legible por todo el mundo, pero solo usted puede editarla. |
Imagen
| Campo | Acepta | Notas |
|---|---|---|
| Imagen | obligatorio, hasta 500 caracteres | La referencia del repositorio sin etiqueta, por ejemplo superheat/base o pytorch/pytorch. Un primer segmento que contenga un punto o dos puntos se trata como el host del registro. |
| Etiqueta | hasta 200 caracteres, [Automatic] de forma predeterminada | [Automatic] se resuelve en el lanzamiento a la etiqueta base de Superheat más reciente que admita la CUDA de la máquina elegida. Cualquier otro valor se usa tal cual. |
| Repo | hasta 500 caracteres | Opcional. Un owner/name simple enlaza a Docker Hub; una URL completa se usa tal cual. |
| Enlace | hasta 1,000 caracteres | URL opcional — una ficha de modelo o un repositorio — que se muestra en la tarjeta. |
[Automatic] solo tiene sentido para la imagen base de Superheat y las imágenes derivadas de ella, porque se resuelve a una etiqueta cuda-<minor>. Fije una etiqueta real para cualquier otra cosa. Consulte Imagen base.
Lanzamiento
| Campo | Acepta | Notas |
|---|---|---|
| Modo | Args, SSH, Jupyter o VM | Decide qué arranca dentro del contenedor y qué puertos se publican. Consulte Modos de lanzamiento. |
| Argumentos | hasta 8,000 caracteres, solo en modo args | Se dividen con las reglas de palabras del shell para formar el comando del contenedor. |
| Directorio de trabajo de Jupyter | hasta 1,000 caracteres, solo en modo jupyter | De forma predeterminada, /workspace. |
| JupyterLab | interruptor, solo en modo jupyter | Activado sirve JupyterLab; desactivado sirve el notebook clásico. |
| Script de inicio | hasta 65,536 caracteres | Bash, se ejecuta una sola vez en el primer arranque. Consulte Scripts de inicio. |
Elegir SSH o Jupyter muestra un recordatorio de que ambos modos necesitan una imagen derivada de la imagen base de Superheat. Una imagen upstream simple no tiene sshd ni Jupyter, así que su lugar es el modo args.
Entorno
Cada fila es una clave, un valor y un interruptor Secreto.
| Campo | Acepta | Notas |
|---|---|---|
| Clave | hasta 256 caracteres | Las filas con la clave vacía se descartan al guardar. |
| Valor | cualquier cadena, o vacío | Un valor vacío se guarda como no definido y no se inyecta en el lanzamiento, lo que lo convierte en un marcador de posición útil para un valor que debe aportar el arrendatario. |
| Secreto | interruptor | Enmascara el valor para todo el que esté fuera de la organización propietaria. |
Lea Variables de entorno antes de agregar cualquier cosa llamada JUPYTER_TOKEN o GPU_COUNT: la capa de la plataforma siempre prevalece sobre los valores de la plantilla y del arrendatario.
Puertos
Cada fila es un puerto del contenedor, un protocolo, una etiqueta y un interruptor Público.
| Campo | Acepta | Notas |
|---|---|---|
| Puerto del contenedor | de 1 a 65535 | El puerto dentro del contenedor, no el puerto del host. El puerto del host se asigna en el lanzamiento. |
| Protocolo | tcp, udp, http o https | http y https viajan sobre TCP; la elección deja constancia de qué sirve el puerto. |
| Etiqueta | hasta 64 caracteres | Se muestra en el detalle de la plantilla. Una etiqueta open convierte este puerto en el destino del botón Abrir de la consola. |
| Público | interruptor, activado de forma predeterminada | Se registra en la entrada del puerto. |
Los detalles y las etiquetas reservadas están en Puertos.
Restricciones de máquina
Las restricciones filtran en qué ofertas se puede lanzar una plantilla. Deje un campo en blanco para no imponer ningún requisito. La página de despliegue las comprueba antes de que usted envíe el formulario y explica cualquier incompatibilidad.
| Campo | Acepta | Significado |
|---|---|---|
| CUDA mínima | cadena de versión, por ejemplo 12.4 | La CUDA de la máquina debe ser al menos esta. |
| VRAM mínima (MB) | entero, 0 o más | Se compara con la VRAM por GPU de la oferta. |
| Arquitectura | cadena, por ejemplo amd64 | Los hosts de Superheat son x86_64; cualquier otra cosa hace que hoy la plantilla no se pueda lanzar. |
| Disco recomendado (GB) | entero, 0 o más | Orientativo — no bloquea un despliegue. |
| Requiere un host compatible con VM | interruptor | Restringe la plantilla a ofertas cuyo host puede ejecutar máquinas virtuales KVM completas. |
Registro privado
Complete estos campos solo si su imagen vive en un registro privado. El usuario acepta hasta 256 caracteres, y la contraseña o token hasta 1,000. La contraseña se almacena cifrada y la API nunca la devuelve. Consulte Registros privados.
Readme
Notas de formato libre, hasta 100,000 caracteres, que se muestran en el detalle de la plantilla debajo de la receta. Aquí es donde corresponden las instrucciones de uso, no en la descripción, que es una sola línea en la tarjeta.
Guardar
Crear plantilla envía el formulario y devuelve la plantilla nueva con su id y su hash_id recién generado. Aparece arriba del todo en Mis plantillas.
La misma llamada a través de la API, con SUPERHEAT_API y SUPERHEAT_KEY definidas como en la descripción general de la API:
curl -X POST "$SUPERHEAT_API/v1/templates" \
-H "Authorization: Bearer $SUPERHEAT_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "PyTorch 2.4 notebook",
"description": "JupyterLab on the CUDA 12.4 base",
"image": "superheat/base",
"tag": "[Automatic]",
"launch_mode": "jupyter",
"jupyter_dir": "/workspace",
"use_jupyter_lab": true,
"onstart": "pip install torch torchvision",
"env": [{"key": "HF_TOKEN", "value": "hf_...", "secret": true}],
"ports": [{"container_port": 7860, "protocol": "http", "label": "open", "public": true}],
"constraints": {"cuda_min": "12.4", "min_vram_mb": 16384},
"visibility": "private"
}'
Editar y eliminar
Editar, en una plantilla de la que es propietario, abre el mismo formulario; el equivalente en la API es PATCH /v1/templates/{id} y acepta un cuerpo parcial. Editar cualquier campo de lanzamiento vuelve a generar el hash_id, así que los enlaces que compartió como hash fijado dejan de resolverse — consulte Compartir y duplicar.
Eliminar quita la plantilla de la galería. Las instancias ya desplegadas a partir de ella no se ven afectadas y siguen ejecutándose.
Las plantillas de sistema son de solo lectura. Para cambiar una, duplíquela primero.