Saltar al contenido principal

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

CampoAceptaNotas
Nombreobligatorio, 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ónhasta 4,000 caracteresLa línea única que se muestra en la tarjeta.
VisibilidadPrivada o PúblicaPrivada solo la ve su organización. Pública hace que la receta sea legible por todo el mundo, pero solo usted puede editarla.

Imagen

CampoAceptaNotas
Imagenobligatorio, hasta 500 caracteresLa 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.
Etiquetahasta 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.
Repohasta 500 caracteresOpcional. Un owner/name simple enlaza a Docker Hub; una URL completa se usa tal cual.
Enlacehasta 1,000 caracteresURL 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

CampoAceptaNotas
ModoArgs, SSH, Jupyter o VMDecide qué arranca dentro del contenedor y qué puertos se publican. Consulte Modos de lanzamiento.
Argumentoshasta 8,000 caracteres, solo en modo argsSe dividen con las reglas de palabras del shell para formar el comando del contenedor.
Directorio de trabajo de Jupyterhasta 1,000 caracteres, solo en modo jupyterDe forma predeterminada, /workspace.
JupyterLabinterruptor, solo en modo jupyterActivado sirve JupyterLab; desactivado sirve el notebook clásico.
Script de iniciohasta 65,536 caracteresBash, 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.

CampoAceptaNotas
Clavehasta 256 caracteresLas filas con la clave vacía se descartan al guardar.
Valorcualquier cadena, o vacíoUn 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.
SecretointerruptorEnmascara 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.

CampoAceptaNotas
Puerto del contenedorde 1 a 65535El puerto dentro del contenedor, no el puerto del host. El puerto del host se asigna en el lanzamiento.
Protocolotcp, udp, http o httpshttp y https viajan sobre TCP; la elección deja constancia de qué sirve el puerto.
Etiquetahasta 64 caracteresSe muestra en el detalle de la plantilla. Una etiqueta open convierte este puerto en el destino del botón Abrir de la consola.
Públicointerruptor, activado de forma predeterminadaSe 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.

CampoAceptaSignificado
CUDA mínimacadena de versión, por ejemplo 12.4La CUDA de la máquina debe ser al menos esta.
VRAM mínima (MB)entero, 0 o másSe compara con la VRAM por GPU de la oferta.
Arquitecturacadena, por ejemplo amd64Los 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ásOrientativo — no bloquea un despliegue.
Requiere un host compatible con VMinterruptorRestringe 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.