Provisionamento de Banco de Dados
Crie bancos de dados prontos para produção em segundos. O sh0 gerencia o ciclo de vida do contêiner, rede e armazenamento persistente para que você possa focar na sua aplicação.
Bancos de Dados Suportados
O sh0 suporta cinco motores de banco de dados nativamente. Cada um roda como um contêiner Docker gerenciado dentro da sua stack, com volumes persistentes e rede automática.
| Motor | Porta Padrão | Versões Disponíveis | Caso de Uso |
|---|---|---|---|
| PostgreSQL | 5432 | 14, 15, 16, 17 | Uso geral, consultas avançadas, JSONB |
| MySQL | 3306 | 8.0, 8.4, 9.0 | Aplicações web tradicionais, WordPress, Laravel |
| MariaDB | 3306 | 10.11, 11.2, 11.4 | Compatível com MySQL, alternativa open-source |
| Redis | 6379 | 7.0, 7.2, 7.4 | Cache, sessões, filas, pub/sub |
| MongoDB | 27017 | 6.0, 7.0, 8.0 | Armazenamento de documentos, schemas flexíveis |
Criando um Banco de Dados
Bancos de dados são criados dentro de uma stack. Navegue até sua stack, depois clique em Adicionar Serviço e selecione Banco de Dados.
- Abra a Stack onde você quer que o banco de dados fique.
- Clique em Adicionar Serviço no canto superior direito.
- Selecione Banco de Dados no seletor de tipo de serviço.
- Escolha seu motor (ex.: PostgreSQL).
- Dê um nome ao banco de dados -- este se torna o hostname do contêiner na rede interna.
- Configure versão, credenciais e limites de recursos.
- Clique em Criar.
mydb significa que sua aplicação pode acessá-lo em mydb:5432 dentro da mesma stack.Selecionando uma Versão
Cada motor oferece múltiplas versões principais. O sh0 puxa a imagem Docker oficial da versão que você selecionar. Você pode alterar a versão depois, mas isso requer uma migração de dados para upgrades de versão principal.
Limites de Recursos
O sh0 permite definir limites de CPU, memória e disco para cada contêiner de banco de dados. Isso evita que um único banco de dados consuma todos os recursos do servidor.
CPU e Memória
Defina limites de núcleos de CPU e alocação de memória. Os padrões funcionam bem para a maioria das cargas de trabalho, mas você pode ajustá-los conforme as necessidades da sua aplicação.
| Configuração | Padrão | Descrição |
|---|---|---|
| Limite de CPU | 1.0 núcleo | Máximo de núcleos de CPU que o contêiner pode usar |
| Limite de Memória | 512 MB | Alocação máxima de RAM |
| Reserva de Memória | 256 MB | RAM mínima garantida |
Alocação de Disco
Dados do banco de dados são armazenados em um volume Docker persistente. Por padrão, não há cota de disco -- o banco de dados pode usar o espaço em disco disponível no host. Você pode definir um limite de aviso suave na configuração de monitoramento para receber alertas antes que o disco encha.
Status e Saúde do Banco de Dados
O sh0 monitora continuamente seus contêineres de banco de dados. O painel mostra um indicador de status em tempo real para cada banco de dados.
| Status | Significado |
|---|---|
| Em Execução | Contêiner está ativo e aceitando conexões |
| Iniciando | Contêiner está inicializando |
| Parado | Contêiner foi encerrado ou parado |
| Erro | Contêiner falhou ao iniciar ou travou |
Clique em qualquer banco de dados para ver informações detalhadas de saúde, incluindo uso atual de CPU e memória, contagem de conexões, tempo de atividade e logs recentes.
Gerenciando Bancos de Dados
Na página de detalhes do banco de dados, você pode realizar tarefas comuns de gerenciamento:
- Iniciar / Parar / Reiniciar -- Controle o ciclo de vida do contêiner.
- Ver Logs -- Transmita logs do contêiner em tempo real.
- Terminal -- Abra um shell dentro do contêiner do banco de dados.
- Editar Configurações -- Altere limites de recursos, versão ou credenciais.
- Backups -- Configure e acione backups (veja Backups e Restauração).
- Excluir -- Remova o banco de dados e seu volume de dados.