Infraestrutura
Como escolher VPS para Dokploy em produção
Dimensione VPS para Dokploy em produção com Docker, proxy, SSL, backups e RAM, comparando perfis para dev solo, times e apps reais sem superdimensionar.
Resposta direta
Para rodar Dokploy em produção, escolha uma VPS com pelo menos 2 vCPUs, 4 GB de RAM, 60 GB de SSD ou NVMe e tráfego suficiente para seus deploys, imagens Docker e acessos externos. Essa configuração atende um painel Dokploy com 2 a 5 aplicações leves, proxy reverso, SSL automático e banco de dados pequeno, desde que você monitore memória, uso de disco e containers em execução. Para times, SaaS ou múltiplos ambientes, 4 vCPUs, 8 GB de RAM e 100 GB de disco já são um ponto de partida mais seguro. O erro comum é dimensionar só pela aplicação principal e esquecer que Dokploy, Docker, proxy, logs, builds, volumes e backups também consomem recursos.
Resumo rápido
- Dokploy funciona melhor em uma VPS com Docker estável, acesso root, firewall configurado e disco rápido para imagens, volumes e logs.
- Para produção pequena, comece em 2 vCPUs, 4 GB de RAM e 60 GB de SSD ou NVMe, evitando planos de 1 GB de RAM.
- Se você usa builds frequentes, banco no mesmo servidor ou várias aplicações Node.js, suba para 4 vCPUs e 8 GB de RAM.
- Proxy reverso e SSL simplificam deploys, mas exigem DNS correto, portas 80 e 443 abertas e renovação de certificados monitorada.
- Backups precisam incluir volumes Docker, bancos de dados, variáveis de ambiente e configuração do Dokploy, não apenas snapshots da VPS.
- Isolamento entre projetos reduz risco: redes Docker separadas, variáveis bem geridas e permissões mínimas ajudam bastante.
- Dokploy é uma alternativa prática a PaaS, Coolify e Portainer, mas não elimina trabalho de operação, segurança e restauração.
O que muda ao levar o Dokploy para produção
Dokploy é uma camada de automação para deploy em cima de Docker. Na prática, ele ajuda a transformar uma VPS em uma espécie de PaaS próprio, com interface para subir aplicações, configurar domínios, gerenciar serviços e operar containers sem montar tudo manualmente a cada projeto. Isso atrai desenvolvedores que querem fugir de custos crescentes em plataformas gerenciadas, mas ainda desejam um fluxo parecido com deploy por Git, domínio próprio, SSL e serviços persistentes.
A mudança em produção é simples de entender: o servidor deixa de ser só um lugar para testar containers e passa a ser a base do produto. Se o Docker trava, se o disco enche ou se o proxy perde a configuração, o usuário final sente. Por isso, a escolha da VPS para Dokploy precisa considerar recursos do painel e das aplicações ao mesmo tempo. Um app Node.js pequeno pode consumir 300 MB de RAM, mas um build com dependências pesadas pode passar de 1 GB por alguns minutos. Some banco, Redis, proxy, logs e o próprio Dokploy, e um plano de 2 GB começa a ficar apertado.
Dokploy, PaaS próprio e o papel da VPS
A VPS é o limite físico da sua PaaS particular. Ela define quantas aplicações cabem, quantos builds podem rodar ao mesmo tempo, quanto tráfego o proxy absorve e quanto espaço existe para imagens antigas. Se você ainda está comparando caminhos, o artigo sobre VPS para Docker ajuda a entender a base técnica antes de colocar uma ferramenta de deploy por cima.
Quando ele substitui Coolify, Portainer ou uma PaaS gerenciada
Dokploy faz mais sentido quando você quer deploy e operação de aplicações, não apenas administração visual de containers. Portainer é forte para gerenciar Docker, stacks e ambientes, enquanto Dokploy mira uma experiência mais próxima de plataforma de deploy. Coolify fica em território parecido, com automações para apps e serviços. Quem está avaliando alternativas pode comparar conceitos com o guia de VPS para Coolify em produção e também com o conteúdo sobre VPS para Portainer em produção. A escolha depende menos do nome da ferramenta e mais do quanto você quer automatizar deploy, domínio, SSL e serviços.
CPU, RAM e disco: como dimensionar a VPS
O dimensionamento começa pela pergunta mais concreta: quantos containers vão ficar ativos ao mesmo tempo? Um Dokploy de produção raramente roda sozinho. Você pode ter painel, proxy reverso, uma API Node.js, um frontend, PostgreSQL, Redis, worker de fila e talvez um container temporário de build. Mesmo que cada componente pareça leve, o conjunto consome memória de forma contínua e ainda precisa de folga para atualizações, picos e operações de manutenção.
Para um ambiente pequeno, 2 vCPUs e 4 GB de RAM formam o mínimo confortável. Abaixo disso, especialmente em 1 GB ou 2 GB de RAM, o risco de swap aumenta quando há build de imagem, instalação de dependências ou banco de dados no mesmo servidor. Swap evita queda imediata, mas deixa tudo mais lento. Em produção, isso aparece como deploy demorando, painel travando ou banco respondendo mal durante tarefas simples.
Configuração mínima realista
Um ponto de partida saudável seria 2 vCPUs, 4 GB de RAM, 60 GB de SSD e sistema Linux LTS, como Ubuntu Server 22.04 ou 24.04. Reserve parte do disco para o sistema, outra para imagens Docker, outra para volumes persistentes e ainda deixe espaço para logs. Um projeto com API, frontend e PostgreSQL pode ocupar 10 GB rapidamente depois de algumas versões de imagem, dumps e logs de aplicação. Se o provedor oferecer NVMe no plano escolhido, o ganho aparece em operações de I/O, como builds, leitura de banco local e extração de camadas Docker, mas confirme essa disponibilidade por plano e localidade.
Quando subir para 4 vCPUs ou mais
Suba para 4 vCPUs e 8 GB de RAM quando houver mais de 5 aplicações, builds frequentes, banco no mesmo servidor, filas com workers permanentes ou tráfego real de clientes. Um SaaS pequeno com API em Node.js, painel em Next.js, PostgreSQL, Redis e worker pode ficar estável em 8 GB, mas a margem diminui se você roda staging e produção juntos. Para times que fazem deploy várias vezes ao dia, CPU extra reduz espera na etapa de build e evita que um deploy prejudique requisições em andamento.
Docker, proxy e SSL sem virar ponto único de falha
Dokploy depende de Docker, então a saúde do Docker vira parte da saúde da aplicação. Isso parece óbvio, mas muitos problemas em produção começam com detalhes simples: imagens antigas acumuladas, containers reiniciando em loop, volumes sem backup, portas expostas sem necessidade e proxy reverso recebendo tráfego de serviços que deveriam ser internos. O painel facilita a operação, porém não substitui uma arquitetura mínima.
A primeira decisão é separar o que precisa ser público do que deve ficar privado. Normalmente, apenas o proxy reverso precisa responder nas portas 80 e 443. Bancos, Redis, filas e serviços internos devem ficar em redes Docker privadas, acessíveis apenas pela aplicação que usa esses componentes. Se um PostgreSQL aparece exposto na internet, há um erro de desenho, não apenas uma regra de firewall faltando.
Separando painel, aplicações e banco
Um exemplo simples: uma aplicação Laravel ou Node.js pode ter três serviços, app, banco e Redis. O app conversa com banco e Redis por uma rede Docker interna. O proxy só aponta para o app. O banco usa volume persistente, com caminho definido e rotina de dump. Em um servidor com 4 GB de RAM, limite workers e containers auxiliares. Em um servidor com 8 GB, você pode separar staging e produção com redes distintas, nomes claros e variáveis diferentes.
Proxy reverso, certificados e portas
O SSL automático depende de DNS correto e portas abertas. Antes de culpar o Dokploy por falha no certificado, confira se o registro A aponta para o IP certo, se não há proxy externo interferindo e se as portas 80 e 443 estão liberadas no firewall da VPS. Também evite múltiplos proxies competindo pelas mesmas portas. Se você já usa Nginx, Caddy ou Traefik manualmente, planeje a transição. Dois serviços tentando controlar 443 no mesmo host geram conflito previsível.
Também pense em rollback. Manter a imagem anterior por algum tempo permite voltar rápido se o deploy quebrar. Só não deixe versões antigas se acumularem por meses. Uma limpeza programada de imagens e containers parados, feita com cuidado, evita disco cheio. Disco cheio em Docker costuma causar falhas estranhas: builds interrompidos, banco sem gravar, logs incompletos e painel instável.
Backups, volumes e restauração no Dokploy
Backup em ambiente com Dokploy não é só snapshot da VPS. Snapshot ajuda, especialmente antes de atualizações do sistema, migração de disco ou mudanças grandes no Docker. Ainda assim, ele não substitui backup lógico de banco de dados, cópia de volumes importantes e registro organizado de variáveis de ambiente. Se o snapshot estiver corrompido, antigo ou preso ao mesmo provedor, sua estratégia fica frágil.
Comece mapeando o que precisa sobreviver à perda do servidor. Em uma aplicação típica, entram nessa lista: banco PostgreSQL ou MySQL, uploads de usuários, arquivos de configuração, secrets, variáveis de ambiente, volumes Docker e configuração do próprio Dokploy. Imagens Docker podem ser reconstruídas se o repositório e o Dockerfile estiverem íntegros. Dados de usuário, não.
O que precisa ser salvo
Para PostgreSQL, uma rotina comum é gerar dumps com pg_dump e enviar para armazenamento externo. Para MySQL ou MariaDB, mysqldump ainda resolve muitos casos pequenos e médios. Em aplicações com upload, copie o volume ou diretório persistente para um destino fora da VPS. Pode ser object storage, outro servidor ou solução de backup do provedor, desde que a restauração seja testada. Evite manter o único backup em uma pasta local do mesmo disco. Se o disco falhar, backup e produção somem juntos.
Um desenho realista para produção pequena combina três camadas. Primeiro, dump diário do banco com retenção de 7 a 14 dias. Segundo, cópia dos volumes críticos para armazenamento externo. Terceiro, snapshot antes de mudanças maiores. Em bancos movimentados, adicione frequência maior ou replica externa. O custo operacional aumenta, mas o tempo de recuperação cai.
Teste de restore antes do incidente
O teste de restauração precisa acontecer antes da emergência. Suba uma VPS temporária, instale Docker, restaure banco e volumes, aponte um domínio de teste e valide login, uploads e tarefas de background. Esse ensaio revela detalhes esquecidos, como variável de ambiente ausente, extensão do banco não instalada, permissão errada no volume ou dependência de uma chave local. Um backup que nunca foi restaurado é apenas uma hipótese otimista.
Isolamento, segurança e operação diária
Quando Dokploy entra em produção, segurança deixa de ser checklist genérico. O servidor passa a concentrar painel administrativo, aplicações e dados. O primeiro passo é reduzir superfície de ataque: SSH com chave, senha desativada, usuário administrativo separado, firewall liberando apenas portas necessárias e painel protegido por senha forte. Se o provedor oferece firewall externo, use em conjunto com o firewall do sistema, não como substituto único.
O Docker também precisa de cuidado. Não rode containers privilegiados sem necessidade. Não monte /var/run/docker.sock em qualquer aplicação. Esse socket dá poder elevado sobre o host e pode transformar uma falha em uma aplicação comum em controle total do ambiente. Em times, limite quem acessa o painel e quem pode alterar variáveis, domínios e serviços. Uma alteração acidental em produção pode causar tanto dano quanto um ataque.
Firewall, SSH e usuários
Uma configuração básica envolve liberar 22 apenas para IPs confiáveis quando possível, 80 e 443 para web, e bloquear portas internas de bancos. Se você precisa acessar banco remotamente, prefira túnel SSH ou VPN. Para atualizações, mantenha o sistema em dia, mas evite atualizar Docker, kernel e painel sem janela mínima de manutenção. Antes de qualquer atualização sensível, gere snapshot ou backup confirmado.
Observabilidade simples que evita surpresa
Você não precisa começar com uma stack complexa de monitoramento. Comece com métricas simples: uso de CPU, RAM, disco, reinícios de containers, status HTTP e validade de certificados. Alertas de disco acima de 80% já evitam muitos incidentes. Logs também precisam de limite. Container que grava log sem rotação pode consumir dezenas de gigabytes em poucos dias, principalmente em erro repetido.
Um bom hábito é revisar semanalmente containers parados, imagens antigas, crescimento de volumes e falhas de deploy. Em um time pequeno, essa revisão pode levar 15 minutos. Em produção, custa menos do que investigar indisponibilidade no domingo à noite. Dokploy reduz atrito no deploy, mas operação diária ainda exige disciplina.
Comparação prática de perfis de VPS para Dokploy
A tabela abaixo ajuda a transformar recomendações em perfis concretos. Ela não compara preços, porque valores, promoções, bandwidth e regiões mudam com frequência e precisam de revisão humana antes de publicação. O objetivo é mostrar faixas de recurso para cenários reais de uso com Dokploy.
| Perfil de uso | Configuração sugerida | Carga típica | Cuidados principais | Quando fazer upgrade |
|---|---|---|---|---|
| Laboratório e MVP privado | 2 vCPUs, 4 GB RAM, 60 GB SSD | 1 a 3 apps leves, banco pequeno, poucos deploys por semana | Evitar builds simultâneos, limpar imagens antigas, backup manual testado | RAM acima de 75% ou disco acima de 70% com frequência |
| Produção pequena | 4 vCPUs, 8 GB RAM, 100 GB SSD ou NVMe | 3 a 8 apps, PostgreSQL, Redis, workers e SSL | Backups externos, monitoramento básico, redes Docker separadas | Deploy afetando resposta do app ou swap recorrente |
| Time ou SaaS em crescimento | 4 a 8 vCPUs, 16 GB RAM, 160 GB ou mais | Staging e produção, múltiplos serviços, builds frequentes | Separar banco crítico, política de restore, controle de acesso | Banco disputando I/O ou CPU com builds e workers |
| Produção crítica | 8 vCPUs ou mais, 16 a 32 GB RAM, disco rápido e backup robusto | Clientes pagantes, jobs pesados, tráfego contínuo | Banco gerenciado ou host separado, logs centralizados, plano de recuperação | Necessidade de alta disponibilidade ou isolamento por cliente |
Na escolha do provedor, verifique localização do datacenter, tipo de armazenamento, política de tráfego, snapshots, backup, suporte e possibilidade de upgrade sem reinstalar tudo. DigitalOcean, Vultr, Linode/Akamai, AWS Lightsail, Hetzner, Contabo, Locaweb, Hostinger e LetsCloud aparecem com frequência em pesquisas sobre VPS e cloud server, mas cada um tem regiões, limites e modelos diferentes. Para público brasileiro, latência e pagamento local podem pesar. No caso da LetsCloud, confirme no site oficial a localidade disponível, tipo de disco por plano, snapshots, backup e condições comerciais antes de afirmar qualquer recurso específico.
Um exemplo ajuda. Se sua aplicação atende usuários no Brasil e faz muitas chamadas curtas para API, uma região mais próxima pode reduzir latência percebida. Se o gargalo é build de imagem ou banco local, disco e CPU podem pesar mais do que alguns milissegundos de rede. Se a aplicação entrega arquivos grandes, política de bandwidth vira ponto central. Não existe uma VPS universal para Dokploy. Existe uma configuração coerente com tráfego, arquitetura e capacidade de operar incidentes.
Recomendações por perfil
Dev solo e laboratório sério
Para dev solo, freelancer ou MVP privado, comece com 2 vCPUs, 4 GB de RAM e 60 GB de SSD. Essa configuração permite rodar Dokploy, proxy, uma API, um frontend e um banco pequeno sem sufoco constante. O segredo é não transformar o servidor em depósito de testes esquecidos. Remova containers antigos, limite logs e mantenha uma rotina de backup simples. Se o projeto ainda não tem usuários pagantes, você pode aceitar manutenção manual, mas não ignore restauração. Teste pelo menos um restore completo antes de chamar o ambiente de produção.
Time pequeno com staging e produção
Para um time pequeno, 4 vCPUs, 8 GB de RAM e 100 GB de disco tornam a experiência mais previsível. Esse perfil comporta staging e produção no mesmo host em projetos moderados, desde que as redes Docker sejam separadas e os bancos tenham nomes, volumes e credenciais distintos. Também vale limitar builds simultâneos. Quando duas pessoas fazem deploy ao mesmo tempo, CPU e disco podem subir rápido. Configure alertas de disco, monitore reinícios de containers e defina quem pode alterar variáveis de produção. O ganho do Dokploy aparece quando o fluxo fica padronizado, não quando todo mundo mexe sem regra.
Produção com clientes, SaaS ou e-commerce
Para SaaS, e-commerce ou sistemas com clientes pagantes, trate o Dokploy como peça de uma arquitetura maior. Um servidor com 8 vCPUs, 16 GB de RAM e disco rápido pode ser um bom começo, mas talvez o banco de dados mereça instância separada ou serviço gerenciado. Isso reduz disputa de CPU e I/O entre builds, workers e consultas. Também melhora o plano de recuperação. Nesse perfil, backups externos, logs com retenção, monitoramento de uptime e procedimento de rollback não são luxo. Se cada minuto fora do ar custa dinheiro, dimensione pela recuperação, não apenas pelo consumo médio em dia tranquilo.
Perguntas frequentes
Qual é a configuração mínima de VPS para Dokploy em produção?
A configuração mínima confortável para Dokploy em produção é 2 vCPUs, 4 GB de RAM e 60 GB de SSD. Isso atende poucos projetos, como uma API, um frontend, banco pequeno e proxy com SSL. Planos com 1 GB ou 2 GB de RAM podem até instalar o Dokploy, mas ficam sensíveis a builds, logs e picos de memória. Se o banco roda no mesmo servidor, mantenha swap configurada apenas como rede de segurança, não como solução de desempenho.
Dokploy substitui Portainer ou Coolify?
Dokploy pode substituir Portainer ou Coolify em alguns cenários, mas não faz exatamente a mesma coisa. Portainer é mais focado em administração visual de Docker, stacks e ambientes. Coolify e Dokploy miram uma experiência mais próxima de PaaS próprio, com deploy de aplicações, domínios e SSL. Se você quer gerenciar containers existentes, Portainer pode ser suficiente. Se quer fluxo de deploy para projetos web, Dokploy e Coolify tendem a se encaixar melhor.
Posso rodar banco de dados no mesmo servidor do Dokploy?
Pode, principalmente em MVPs, projetos pequenos e produção inicial. O cuidado é reservar RAM, disco e backup para o banco, porque ele não se comporta como container descartável. PostgreSQL, MySQL e Redis devem usar volumes persistentes, redes privadas e rotinas de dump. Quando o projeto cresce, separar o banco em outra VPS ou serviço gerenciado reduz disputa de CPU e I/O com builds, proxy e aplicações, além de facilitar restauração em incidentes.
NVMe faz diferença para Dokploy?
NVMe pode fazer diferença em builds Docker, extração de camadas, bancos locais, logs intensos e aplicações com muito I/O. Para um site simples com pouco tráfego, a diferença entre SSD bom e NVMe talvez não seja perceptível no usuário final. O ponto é não tratar NVMe como cura universal. CPU, RAM, rede, cache, consultas de banco e arquitetura da aplicação continuam pesando. Também é necessário confirmar se o provedor oferece NVMe no plano e na localidade escolhidos.
Como fazer backup correto em um servidor com Dokploy?
Combine backup lógico, cópia de volumes e snapshot. Para bancos, gere dumps com ferramentas como pg_dump ou mysqldump e envie para armazenamento externo. Para uploads e arquivos persistentes, copie volumes críticos fora da VPS. Snapshots ajudam antes de atualizações e migrações, mas não devem ser o único backup. O passo mais negligenciado é testar restauração em uma VPS temporária, validando aplicação, login, uploads, variáveis de ambiente e permissões.
Quando devo separar staging e produção em VPS diferentes?
Separe staging e produção quando deploys de teste começarem a afetar desempenho, quando o time crescer ou quando houver clientes pagantes. Em projetos pequenos, ambos podem conviver em uma VPS de 4 vCPUs e 8 GB, com redes, volumes e variáveis bem separados. O problema surge quando builds pesados, workers e banco competem pelos mesmos recursos. Separar ambientes reduz risco operacional, melhora previsibilidade e evita que um teste mal configurado derrube produção.
Fontes consultadas
- Dokploy Documentation · coletado em 26/07/2026
- Docker Docs · coletado em 26/07/2026
- Traefik Documentation · coletado em 26/07/2026
- Let's Encrypt Documentation · coletado em 26/07/2026