Plantillas

Despliega aplicaciones populares en segundos con el catálogo de plantillas de sh0. Explora más de 170 plantillas preconfiguradas para bases de datos, frameworks web, herramientas de desarrollo y más.

Catálogo de plantillas

El catálogo de plantillas es accesible desde Nueva aplicaciónPlantillas en cualquier stack. Cada plantilla incluye una imagen Docker preconfigurada, variables de entorno predeterminadas, montajes de volúmenes y verificaciones de salud -- todo lo necesario para poner un servicio en funcionamiento de inmediato.

Template catalog grid showing popular templates like PostgreSQL, Redis, WordPress, and Nginx

Las plantillas se pueden buscar por nombre, categoría o etiqueta. También puedes filtrar por categoría usando la navegación lateral.

Template search bar with filter results showing database templates

Categorías de plantillas

Las plantillas se organizan en las siguientes categorías:

CategoríaEjemplosCantidad
Bases de datosPostgreSQL, MySQL, MariaDB, MongoDB, Redis, ClickHouse18
Frameworks webWordPress, Ghost, Strapi, Directus, Payload CMS22
Herramientas de desarrolloGitea, Drone CI, Verdaccio, SonarQube, Sentry19
MonitoreoGrafana, Prometheus, Uptime Kuma, Netdata12
ComunicaciónMattermost, Rocket.Chat, n8n, Chatwoot10
AlmacenamientoMinIO, Nextcloud, Seafile, Garage9
AnalíticaPlausible, Umami, Matomo, PostHog8
RedesNginx, Traefik, WireGuard, Pi-hole7
OtrosVaultwarden, Planka, Bookstack, Outline14

Despliegue con un clic

Desplegar una plantilla toma un solo clic. Selecciona una plantilla del catálogo, revisa los ajustes predeterminados y haz clic en Desplegar. sh0 se encarga de todo:

  1. Descarga la imagen Docker del registro configurado
  2. Crea volúmenes con nombre para datos persistentes
  3. Configura las variables de entorno con valores predeterminados seguros (las contraseñas aleatorias se generan automáticamente)
  4. Configura verificaciones de salud para el servicio
  5. Aprovisiona un dominio en nombre-app.tu-dominio.com
  6. Emite un certificado SSL vía Caddy
One-click deploy confirmation screen for PostgreSQL with generated credentials
Tip
sh0 genera contraseñas aleatorias fuertes para cada plantilla que requiere credenciales. Se almacenan de forma segura en las variables de entorno de la aplicación y son accesibles desde el panel de control.

Personalizar antes de desplegar

Antes de desplegar, puedes personalizar cualquier ajuste de la plantilla:

  • Nombre de la aplicación: Elige un nombre para tu servicio (se usa en la URL)
  • Etiqueta de imagen: Selecciona una versión específica (por ejemplo, postgres:16 vs postgres:15)
  • Variables de entorno: Anula cualquier valor predeterminado
  • Límites de recursos: Establece límites de CPU y memoria para el contenedor
  • Tamaño del volumen: Especifica la asignación de almacenamiento para datos persistentes
  • Dominio: Asigna un dominio personalizado en lugar del subdominio predeterminado
Template customization form with fields for name, image version, environment variables, and resource limits
Note
Todos los ajustes de la plantilla se pueden cambiar después del despliegue. La pantalla de personalización simplemente te permite establecer los valores iniciales antes del primer despliegue.

Crear plantillas personalizadas

Puedes crear tus propias plantillas para estandarizar despliegues en tu equipo. Las plantillas personalizadas se definen en YAML y se pueden agregar a través del panel de control o colocarse en el directorio templates/ de tu servidor sh0.

Formato de plantilla

templates/my-api.yaml
name: My API Template
description: Standard Node.js API with PostgreSQL
icon: server
category: web-frameworks
tags:
  - nodejs
  - api
  - postgresql

services:
  api:
    image: node:20-alpine
    ports:
      - "3000:3000"
    environment:
      NODE_ENV: production
      DATABASE_URL: postgres://user:pass@db:5432/api
    healthcheck:
      path: /health
      interval: 30s
    volumes:
      - uploads:/app/uploads

  db:
    image: postgres:16
    environment:
      POSTGRES_USER: user
      POSTGRES_PASSWORD: "{{random_password}}"
      POSTGRES_DB: api
    volumes:
      - pgdata:/var/lib/postgresql/data

volumes:
  uploads:
  pgdata:

El marcador de posición undefined} se reemplaza con una cadena aleatoria segura al momento del despliegue. Otros marcadores de posición disponibles incluyen undefined} y undefined}.

Compartir plantillas

Las plantillas personalizadas colocadas en el directorio templates/ están disponibles para todos los usuarios en tu instancia de sh0. Puedes organizarlas en subdirectorios por categoría.

Template directory structure
templates/
  databases/
    my-postgres-cluster.yaml
    my-redis-sentinel.yaml
  web/
    company-api.yaml
    company-frontend.yaml
Tip
Las plantillas personalizadas aparecen junto a las plantillas integradas en el catálogo. Se distinguen visualmente con una insignia "Personalizada" para que tu equipo pueda identificarlas fácilmente.