Ir al contenido

Buscar en la documentación

Busca en la documentación de Skiffly

Plantillas

Servicios y stacks con un clic: 136 plantillas de bases de datos, colas, paneles, CMS y starters de frameworks, desplegables desde el panel, la CLI o `templateDeployV2`.

Una plantilla describe uno o más servicios (imagen o repositorio), sus variables (con secretos generados y referencias entre servicios), volúmenes, puertos y recursos. Desplegar una plantilla crea todo dentro de tu proyecto de forma atómica e inicia los primeros despliegues; si algo falla, no queda nada a medias.

Explora en Plantillas en el panel o desde la terminal:

skiffly templates                       # todo
skiffly templates postgres              # busca por nombre, descripción, etiquetas, imagen
skiffly templates --category databases
skiffly templates --featured

Categorías: starters, databases, dev-tools, ecommerce, cms, ai, automation, messaging, monitoring, analytics, storage, auth, other. Cada plantilla tiene un code (postgres, n8n, nextjs-prisma), un readme, la lista de variables que puedes definir y las que debes definir (requiredVariables), y notas posteriores al despliegue.

Desplegar una plantilla#

Lienzo del proyecto → Nuevo servicio → Plantilla, o Plantillas en la barra lateral → Desplegar. Se piden las variables obligatorias; todo lo demás tiene valores predeterminados o se genera.

Qué contiene una plantilla#

packages/templates/catalog/postgres.json (extracto)
{
  "code": "postgres",
  "services": [{
    "name": "Postgres",
    "source": { "image": "postgres:17" },
    "port": 5432, "protocol": "tcp",
    "variables": {
      "POSTGRES_PASSWORD": { "generate": "password" },
      "DATABASE_URL": { "reference": "postgresql://${{self.POSTGRES_USER}}:${{self.POSTGRES_PASSWORD}}@${{self.SKIFFLY_PRIVATE_DOMAIN}}:5432/${{self.POSTGRES_DB}}" }
    },
    "volumes": [{ "mountPath": "/var/lib/postgresql/data", "sizeGb": 10 }],
    "resources": { "cpuMillis": 1000, "memoryBytes": 1073741824 }
  }]
}
  • generate: password, secret, uuid, hex32, hex64, base64_32; se crean al desplegar y nunca se muestran en el catálogo.
  • reference: se reescribe con los nombres de los servicios que realmente se crearon, así que dos plantillas de Postgres en un mismo proyecto no chocan.
  • Los servicios con protocol: "http" reciben un dominio generado automáticamente; los servicios tcp se quedan en la red privada.

Después del despliegue, los servicios son servicios normales: renómbralos, cambia los recursos, agrega dominios, elimínalos de forma individual. Service.templateId recuerda de dónde vino un servicio.

Plantillas populares#

CódigoQué es
postgres, mysql, redis, mongodbbases de datos con volúmenes y cadenas de conexión
pgvector, postgis, timescaledb, clickhouse, qdrant, meilisearchalmacenes especializados
n8n, windmill, node-red, temporalautomatización y flujos de trabajo
plausible, umami, matomo, uptime-kuma, grafana, prometheusanalítica y monitoreo
ghost, wordpress, strapi, directus, outline, docmostcontenido
nextjs, nuxt, sveltekit, django, rails, laravel, fastapi, go-gin, spring-bootstarters de frameworks desde repositorios
minio, rustfs, seaweedfsalmacenamiento compatible con S3
ollama, open-webui, litellm, langfuse, flowiseIA

Publicar las tuyas#

El catálogo es una carpeta de archivos JSON en el repositorio de Skiffly (packages/templates/catalog/*.json). Envía un pull request con un archivo nuevo o escribe a support@skiffly.dev; todavía no hay publicación desde el panel ni reparto de ingresos.