Docs/ Implantação/ Templates

Templates

Implante aplicações populares em segundos com o catálogo de templates do sh0. Navegue por mais de 170 templates pré-configurados para bancos de dados, frameworks web, ferramentas de desenvolvedor e muito mais.

Catálogo de Templates

O catálogo de templates é acessível em Novo AppTemplates em qualquer stack. Cada template inclui uma imagem Docker pré-configurada, variáveis de ambiente padrão, montagens de volume e health checks -- tudo necessário para colocar um serviço em execução imediatamente.

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

Templates são pesquisáveis por nome, categoria ou tag. Você também pode filtrar por categoria usando a navegação lateral.

Template search bar with filter results showing database templates

Categorias de Templates

Templates são organizados nas seguintes categorias:

CategoriaExemplosQuantidade
Bancos de DadosPostgreSQL, MySQL, MariaDB, MongoDB, Redis, ClickHouse18
Frameworks WebWordPress, Ghost, Strapi, Directus, Payload CMS22
Ferramentas de DesenvolvedorGitea, Drone CI, Verdaccio, SonarQube, Sentry19
MonitoramentoGrafana, Prometheus, Uptime Kuma, Netdata12
ComunicaçãoMattermost, Rocket.Chat, n8n, Chatwoot10
ArmazenamentoMinIO, Nextcloud, Seafile, Garage9
AnalyticsPlausible, Umami, Matomo, PostHog8
RedeNginx, Traefik, WireGuard, Pi-hole7
OutrosVaultwarden, Planka, Bookstack, Outline14

Implantação com Um Clique

Implantar um template leva um único clique. Selecione um template do catálogo, revise as configurações padrão e clique em Implantar. O sh0 cuida de tudo:

  1. Puxa a imagem Docker do registro configurado
  2. Cria volumes nomeados para dados persistentes
  3. Configura variáveis de ambiente com padrões seguros (senhas aleatórias são geradas automaticamente)
  4. Configura health checks para o serviço
  5. Provisiona um domínio em nome-do-app.seu-dominio.com
  6. Emite um certificado SSL via Caddy
One-click deploy confirmation screen for PostgreSQL with generated credentials
Tip
O sh0 gera senhas aleatórias fortes para cada template que requer credenciais. Elas são armazenadas com segurança nas variáveis de ambiente da aplicação e acessíveis pelo painel.

Personalizando Antes de Implantar

Antes de implantar, você pode personalizar qualquer configuração do template:

  • Nome do app: Escolher um nome para seu serviço (usado na URL)
  • Tag da imagem: Selecionar uma versão específica (ex.: postgres:16 vs postgres:15)
  • Variáveis de ambiente: Sobrescrever quaisquer valores padrão
  • Limites de recursos: Definir limites de CPU e memória para o contêiner
  • Tamanho do volume: Especificar alocação de armazenamento para dados persistentes
  • Domínio: Atribuir um domínio personalizado em vez do subdomínio padrão
Template customization form with fields for name, image version, environment variables, and resource limits
Note
Todas as configurações de template podem ser alteradas após a implantação. A tela de personalização simplesmente permite definir valores iniciais antes da primeira implantação.

Criando Templates Personalizados

Você pode criar seus próprios templates para padronizar implantações em sua equipe. Templates personalizados são definidos em YAML e podem ser adicionados pelo painel ou colocados no diretório templates/ do seu servidor sh0.

Formato do Template

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:

O placeholder undefined} é substituído por uma string aleatória segura no momento da implantação. Outros placeholders disponíveis incluem undefined} e undefined}.

Compartilhando Templates

Templates personalizados colocados no diretório templates/ ficam disponíveis para todos os usuários na sua instância sh0. Você pode organizá-los em subdiretórios por categoria.

Template directory structure
templates/
  databases/
    my-postgres-cluster.yaml
    my-redis-sentinel.yaml
  web/
    company-api.yaml
    company-frontend.yaml
Tip
Templates personalizados aparecem ao lado dos templates nativos no catálogo. Eles são visualmente diferenciados com um badge "Personalizado" para que sua equipe possa identificá-los facilmente.