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 App → Templates 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.
Templates são pesquisáveis por nome, categoria ou tag. Você também pode filtrar por categoria usando a navegação lateral.
Categorias de Templates
Templates são organizados nas seguintes categorias:
| Categoria | Exemplos | Quantidade |
|---|---|---|
| Bancos de Dados | PostgreSQL, MySQL, MariaDB, MongoDB, Redis, ClickHouse | 18 |
| Frameworks Web | WordPress, Ghost, Strapi, Directus, Payload CMS | 22 |
| Ferramentas de Desenvolvedor | Gitea, Drone CI, Verdaccio, SonarQube, Sentry | 19 |
| Monitoramento | Grafana, Prometheus, Uptime Kuma, Netdata | 12 |
| Comunicação | Mattermost, Rocket.Chat, n8n, Chatwoot | 10 |
| Armazenamento | MinIO, Nextcloud, Seafile, Garage | 9 |
| Analytics | Plausible, Umami, Matomo, PostHog | 8 |
| Rede | Nginx, Traefik, WireGuard, Pi-hole | 7 |
| Outros | Vaultwarden, Planka, Bookstack, Outline | 14 |
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:
- Puxa a imagem Docker do registro configurado
- Cria volumes nomeados para dados persistentes
- Configura variáveis de ambiente com padrões seguros (senhas aleatórias são geradas automaticamente)
- Configura health checks para o serviço
- Provisiona um domínio em
nome-do-app.seu-dominio.com - Emite um certificado SSL via Caddy
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:16vspostgres: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
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
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.
templates/
databases/
my-postgres-cluster.yaml
my-redis-sentinel.yaml
web/
company-api.yaml
company-frontend.yaml