Independent testing Updated July 2026 387 self-hosting guides 5 VPS providers tested

guide

Requisitos de VPS para Kamal: RAM, CPU e Armazenamento

O Kamal corre na sua máquina, não no servidor. Dimensione o VPS de destino: RAM para a aplicação mais a sobreposição do deploy e disco para três dias de rollback.

O Kamal é uma ferramenta de deploy que corre na sua própria máquina ou no seu runner de CI, não no servidor. Falar de «requisitos de VPS para Kamal» é, na verdade, falar da máquina para a qual o Kamal faz deploy: tem de aguentar os contentores da aplicação, o kamal-proxy, os acessórios declarados e alguns dias de imagens antigas guardadas para rollbacks.

O custo em recursos do próprio Kamal no servidor é nulo. Dimensione tudo o resto.

O que consome recursos no servidor

Depois do kamal setup, o servidor corre três coisas:

Para o dimensionamento contam apenas os dois últimos. O kamal-proxy é um único binário estático e a sua pegada desaparece ao lado de qualquer aplicação real.

Memória

O número que apanha as pessoas desprevenidas não é o consumo em regime normal, é a sobreposição do deploy. O Kamal arranca o contentor novo enquanto o antigo ainda serve tráfego, e só pára o antigo depois de o novo passar a verificação de saúde. O pico é, portanto, o consumo habitual mais, grosso modo, uma cópia adicional do contentor da aplicação.

Se estiver a correr o Postgres como acessório do Kamal em vez de serviço gerido, dimensione explicitamente para ele: o maior consumidor da máquina não será o Kamal, será a base de dados.

CPU

Dois vCPU são o mínimo sensato, por uma razão que nada tem que ver com a carga corrente: durante um deploy o servidor descarrega uma imagem, arranca um contentor, executa verificações de saúde e serve tráfego a partir do contentor antigo, tudo ao mesmo tempo. Com um único vCPU essa disputa estica a janela do deploy.

Armazenamento

É aqui que o comportamento do Kamal altera de facto os números. O Kamal guarda contentores e imagens antigas no servidor para que o kamal rollback possa arrancar uma versão anterior sem descarregar do registo, e limpa-os ao fim de três dias por omissão.

Portanto o disco tem de acomodar:

Uma imagem de 1 GB publicada algumas vezes por dia fica bem em 40 GB NVMe. Uma imagem de 3 GB enche um disco de 25 GB numa semana. Vale a pena conhecer o modo de falha: um disco cheio parte o deploy seguinte, não aquele que o encheu, pelo que causa e sintoma ficam separados por dias.

Se publicar com frequência, o kamal prune all esvazia o acumulado a pedido em vez de esperar pela janela de três dias.

Fornecedores de VPS e preços

FornecedorPreço mensalPontos a reterLigação de afiliado
Contabo5,99 EUR400 GB de disco: o histórico de imagens nunca é a limitaçãoContabo
Hetzner Cloud5,49 EUR2 vCPU / 4 GB / 40 GB NVMe, snapshots antes de deploys arriscadosHetzner Cloud
DigitalOcean6 USDA documentação mais clara para a configuração do servidor que o Kamal saltaDigitalOcean
Vultr5 USDEscolha de regiões, útil quando a aplicação deve ficar perto dos utilizadoresVultr
Linode (Akamai Cloud)5 USDPreços previsíveis e rede simples de configurarLinode

Para um panorama completo das opções, veja a comparação de VPS.

A DigitalOcean é a entrada mais fácil, porque o Kamal gere deliberadamente o servidor apenas até ao Docker — as regras de firewall, o swap e as actualizações automáticas continuam a ser consigo, e a documentação da DigitalOcean cobre as três. A Hetzner dá-lhe mais RAM e mais disco por euro se estiver à vontade para fazer essa configuração sozinho.

Sugestões práticas

Conclusão

Para a maioria dos deploys de uma só aplicação, 2 vCPU, 4 GB de RAM e 40 GB de SSD ou NVMe deixam espaço para a aplicação, a base de dados, a sobreposição do deploy e três dias de imagens de rollback. Aumente o disco antes de aumentar a memória: a pressão sobre a memória anuncia-se sozinha, a acumulação de imagens não. Para mais opções, explore a nossa comparação de VPS.

Frequently asked questions

De quanta RAM precisa um VPS como destino de um deploy com Kamal?

O suficiente para a sua aplicação, os acessórios dela e uma cópia adicional do contentor da aplicação. Durante um deploy o contentor antigo e o novo correm ao mesmo tempo, por isso o pico é o consumo habitual mais um contentor. Num servidor de 4 GB com uma aplicação de 1 GB fica folgado.

O Kamal consome CPU ou memória no servidor?

Não. O Kamal é uma gem que executa a partir da sua máquina ou da CI e que termina quando o deploy acaba. A única adição permanente ao servidor é o kamal-proxy, um proxy HTTP pequeno escrito em Go cujo consumo é irrelevante ao lado de qualquer aplicação real.

Porque é que um servidor com Kamal fica sem disco com o tempo?

O Kamal guarda contentores e imagens antigas para que um rollback não tenha de descarregar do registo, e só os limpa ao fim de três dias por omissão. Deploys frequentes de uma imagem grande acumulam-se depressa, e o disco costuma encher a meio de um deploy posterior, não naquele que o encheu.