VPS para Devs: a stack ideal
VPS para desenvolvedores: stack ideal para projetos web modernos
Se você é desenvolvedor e quer controle total sobre sua infraestrutura sem a complexidade (e custo) de serviços gerenciados, um VPS bem configurado é a melhor escolha. Este guia mostra a stack que funciona para a maioria dos projetos web modernos.
A stack recomendada
Git repo → CI/CD → Docker build → VPS
├── Reverse Proxy (Nginx/Caddy) + TLS
├── App containers
├── Database container
├── Monitoramento (Netdata)
└── Backup automatizado
Por que essa stack funciona
- Docker padroniza ambientes — o que roda em dev roda em produção.
- Proxy reverso centraliza SSL, roteamento e compressão.
- CI/CD automatiza deploy — push no Git = aplicação atualizada.
- Monitoramento previne problemas antes que virem downtime.
- Backup garante que você sempre pode voltar atrás.
Componente 1: Docker + Compose
Base de toda a stack. Permite rodar múltiplas aplicações no mesmo VPS com isolamento.
Guia de instalação: Docker no VPS.
Exemplo de estrutura multi-projeto
/opt/
├── projeto-a/
│ ├── docker-compose.yml
│ ├── .env
│ └── app/
├── projeto-b/
│ ├── docker-compose.yml
│ ├── .env
│ └── app/
└── infra/
├── docker-compose.yml (Nginx, monitoramento)
└── nginx/
Componente 2: proxy reverso com TLS automático
Opção A: Nginx + Let's Encrypt (mais controle)
Configuração manual, mas com controle total de performance e caching. Tutorial completo no artigo de Deploy Node.js.
Opção B: Caddy (mais simples)
HTTPS automático sem configuração extra:
# docker-compose.yml
services:
caddy:
image: caddy:alpine
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy_data:/data
restart: unless-stopped
volumes:
caddy_data:
# Caddyfile
app-a.seudominio.com.br {
reverse_proxy app-a:3000
}
app-b.seudominio.com.br {
reverse_proxy app-b:8080
}
Caddy obtém e renova certificados SSL automaticamente.
Componente 3: CI/CD automatizado
GitHub Actions (mais popular)
Crie .github/workflows/deploy.yml:
name: Deploy
on:
push:
branches: [main]
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Deploy via SSH
uses: appleboy/ssh-action@v1
with:
host: ${{ secrets.VPS_IP }}
username: ${{ secrets.VPS_USER }}
key: ${{ secrets.SSH_KEY }}
script: |
cd /opt/projeto-a
git pull origin main
docker compose pull
docker compose up -d --build
Resultado: toda vez que você faz push na branch main, o deploy acontece automaticamente.
Componente 4: monitoramento
Netdata cobre CPU, RAM, disco, rede e containers Docker — tudo sem configuração complexa.
Para monitoramento de uptime externo (verificar se o site está no ar de fora), considere Uptime Kuma (self-hosted) ou serviços como UptimeRobot.
Componente 5: backup
Siga a estratégia 3-2-1: Backup automático de VPS.
Para stacks Docker, faça backup dos volumes:
docker run --rm -v projeto_pgdata:/data -v /backup:/backup alpine tar czf /backup/pgdata-$(date +%Y%m%d).tar.gz /data
Boas práticas para devs em VPS
Ambiente igual em dev e produção
Use o mesmo docker-compose.yml (com overrides para dev) para garantir paridade.
Versionamento de infraestrutura
Tudo que é configurável deve estar no Git: Compose, Nginx configs, scripts de backup, CI/CD.
Segredos fora do Git
Use .env e adicione ao .gitignore. Para CI/CD, use secrets do GitHub/GitLab.
Um serviço por container
Evite colocar aplicação e banco no mesmo container. Separar facilita monitoramento, backup e escala.
Perguntas frequentes (FAQ)
VPS ou PaaS (Heroku, Railway, Render)?
PaaS é mais simples para começar, mas mais caro e menos flexível conforme o projeto cresce. VPS oferece controle total e custo previsível — ideal para quem quer aprender e ter liberdade.
Quanto custa essa stack inteira?
O custo é basicamente o do VPS. Docker, Nginx, Caddy, Netdata e CI/CD são gratuitos. Na StreetHosting, um VPS Ryzen com 4-8 GB de RAM é suficiente para rodar múltiplos projetos.
Preciso saber DevOps para usar VPS?
Não precisa ser especialista, mas aprender o básico de Linux, Docker e SSH é um investimento que paga dividendos para toda a carreira. Nossos guias na central de ajuda cobrem cada passo.
Próximos passos
- Instale Docker: Docker no VPS
- Faça deploy real: Deploy Node.js
- Publique APIs: Hospedar API com Docker
Actualizado em: 16/03/2026
Obrigado!
