Como montei meu próprio servidor dedicado em casa (e parei de pagar por VPS)

Recentemente, compartilhei em uma publicação que montei meu próprio servidor dedicado em casa para hospedar meus projetos, automatizar deploys e ter controle total da infraestrutura — tudo isso com custo praticamente zero, já que eu já tinha as peças aqui. Isso despertou o interesse de outras pessoas e decidi escrever esse post para explicar com mais detalhes como planejei, montei e mantenho esse servidor. Por que montar um servidor próprio? Sempre gostei de entender as nuances do que está por trás dos bastidores de uma aplicação em produção. Embora serviços como Vercel, Heroku ou VPS tradicionais sejam práticos, eles também têm limitações e custos recorrentes. Montar um servidor próprio foi uma forma de: Reduzir custos Aprender com DevOps, redes e infraestrutura. Ter liberdade para experimentar configurações personalizadas Centralizar vários projetos e serviços ## Hardware e conexão de internet Meu servidor é montado com peças que já possuía: Processador: Ryzen 5 3400G Memória RAM: 16GB DDR4 3200Mhz Armazenamento: 120GB SSD Minha internet é de 600 Mbps de download e 30 Mbps de upload, com IP fixo, o que foi fundamental para viabilizar a hospedagem local com acesso externo. Caso sua operadora não ofereça IP fixo ou você esteja atrás de um CGNAT, dá para contornar com serviços como No-IP ou DuckDNS. Sobre CGNAT e IP fixo *Para verificar se você está atrás de um CGNAT, você pode conferir o IP atribuído ao seu modem. Se ele começar com algo como 100.x.x.x, há grandes chances de você estar dentro de um CGNAT. Como sair do CGNAT Entre em contato com sua operadora de internet e pergunte se é possível obter um IP público (dedicado ou dinâmico). Algumas operadoras disponibilizam isso mediante solicitação ou pagamento de uma pequena taxa. Explique que você precisa de acesso externo à sua rede, para rodar serviços próprios como um servidor ou câmera IP. Caso a operadora não ofereça essa opção, considere trocar para um provedor regional que ofereça IP público ou suporte a IP fixo. Como alternativa, você pode utilizar serviços de VPN reversa como Tailscale ou Ngrok para expor serviços internos com segurança, mesmo estando atrás de um CGNAT. Sistema operacional e segurança Instalei o Ubuntu Server, uma distro linux leve e confiavel, ideal para servidores. Algumas boas práticas que segui: Desabilitei login senha no SSH e configurei login com chave pública Ativei o firewall com ufw Habilitei o Ubuntu Pro, e a Canonical oferece 5 licenças gratuitas para você usar. Deploy automatizados com Coolify Escolhi o Coolify para facilitar o deploy das minhas aplicações. Ele é uma alternativa self-hosted ao Heroku e Vercel, com uma interface intuitiva e suporte a projetos Node.js, Next.js, Docker, entre outros. Com ele, consigo: Fazer deploy diretamente a partir do GitHub (push na branch). Gerenciar containers Docker Acompanhar logs, status e health checks. Um dos meus projetos em Next.js, por exemplo, é feito o deploy automaticamente quando faço o push na main , e o Coolify cuida de todo o ciclo com Docker + SSL. Integração com Cloudflare e domínio próprio Uso o meu próprio domínio que está configurado na cloudflare. A vantagem disso é: Gerenciamento de DNS fácil e rapido. Proteção contra DDoS e firewall (WAF) SSL automático com proxy reverso HTTPS No Claudflare, criei os registros A e CNAME apontando para o meu IP fixo. Também ativei o proxy da Cloudflare, que ajuda a esconder meu IP real e ainda fornece caching e compressão. Monitoramento backups e boas praticas Ainda estou evoluindo essa parte, mas já deixei configurado: Monitoramento com (Uptime Kuma) Backups diários com scripts rsync + cron Alertas via Telegram para falhas criticas Desafios e aprendizados No começo, tive que lidar com questões como redirecionamento de portas no roteador, configuração de DNS reverso e até a instabilidade causada por picos de energias. Isso me ensinou muito sobre resiliência de infraestrutura e automação de manutenção. Recomendações para quem quer seguir esse caminho Se você também que montar seu servidor caseiro, recomendo estudar sobre: Redes (port forwarding, IP fixo, NAT, DNS) Segurança (firewall, SSH, fail2ban) Docker e orquestração com Docker Compose GitOps (deploys automáticos via GitHub Actions, Coolify, etc) Fontes que me ajudaram: Documentação do Ubuntu Server Documentação do Coolify E um vídeo especifico sobre Coolify do Erick Wendel

Apr 14, 2025 - 14:56
 0
Como montei meu próprio servidor dedicado em casa (e parei de pagar por VPS)

Recentemente, compartilhei em uma publicação que montei meu próprio servidor dedicado em casa para hospedar meus projetos, automatizar deploys e ter controle total da infraestrutura — tudo isso com custo praticamente zero, já que eu já tinha as peças aqui. Isso despertou o interesse de outras pessoas e decidi escrever esse post para explicar com mais detalhes como planejei, montei e mantenho esse servidor.

Por que montar um servidor próprio?

Sempre gostei de entender as nuances do que está por trás dos bastidores de uma aplicação em produção. Embora serviços como Vercel, Heroku ou VPS tradicionais sejam práticos, eles também têm limitações e custos recorrentes. Montar um servidor próprio foi uma forma de:

  • Reduzir custos
  • Aprender com DevOps, redes e infraestrutura.
  • Ter liberdade para experimentar configurações personalizadas
  • Centralizar vários projetos e serviços ## Hardware e conexão de internet Meu servidor é montado com peças que já possuía:
  • Processador: Ryzen 5 3400G
  • Memória RAM: 16GB DDR4 3200Mhz
  • Armazenamento: 120GB SSD Minha internet é de 600 Mbps de download e 30 Mbps de upload, com IP fixo, o que foi fundamental para viabilizar a hospedagem local com acesso externo. Caso sua operadora não ofereça IP fixo ou você esteja atrás de um CGNAT, dá para contornar com serviços como No-IP ou DuckDNS.

Sobre CGNAT e IP fixo

*Para verificar se você está atrás de um CGNAT, você pode conferir o IP atribuído ao seu modem. Se ele começar com algo como 100.x.x.x, há grandes chances de você estar dentro de um CGNAT.

Como sair do CGNAT

  1. Entre em contato com sua operadora de internet e pergunte se é possível obter um IP público (dedicado ou dinâmico). Algumas operadoras disponibilizam isso mediante solicitação ou pagamento de uma pequena taxa.
  2. Explique que você precisa de acesso externo à sua rede, para rodar serviços próprios como um servidor ou câmera IP.
  3. Caso a operadora não ofereça essa opção, considere trocar para um provedor regional que ofereça IP público ou suporte a IP fixo.
  4. Como alternativa, você pode utilizar serviços de VPN reversa como Tailscale ou Ngrok para expor serviços internos com segurança, mesmo estando atrás de um CGNAT.

Sistema operacional e segurança

Instalei o Ubuntu Server, uma distro linux leve e confiavel, ideal para servidores.
Algumas boas práticas que segui:

  • Desabilitei login senha no SSH e configurei login com chave pública
  • Ativei o firewall com ufw
  • Habilitei o Ubuntu Pro, e a Canonical oferece 5 licenças gratuitas para você usar.

Deploy automatizados com Coolify

Escolhi o Coolify para facilitar o deploy das minhas aplicações. Ele é uma alternativa self-hosted ao Heroku e Vercel, com uma interface intuitiva e suporte a projetos Node.js, Next.js, Docker, entre outros. Com ele, consigo:

  • Fazer deploy diretamente a partir do GitHub (push na branch).
  • Gerenciar containers Docker
  • Acompanhar logs, status e health checks.

Um dos meus projetos em Next.js, por exemplo, é feito o deploy automaticamente quando faço o push na main , e o Coolify cuida de todo o ciclo com Docker + SSL.

Integração com Cloudflare e domínio próprio

Uso o meu próprio domínio que está configurado na cloudflare. A vantagem disso é:

  • Gerenciamento de DNS fácil e rapido.
  • Proteção contra DDoS e firewall (WAF)
  • SSL automático com proxy reverso HTTPS

No Claudflare, criei os registros A e CNAME apontando para o meu IP fixo.
Também ativei o proxy da Cloudflare, que ajuda a esconder meu IP real e ainda fornece caching e compressão.

Monitoramento backups e boas praticas

Ainda estou evoluindo essa parte, mas já deixei configurado:

  • Monitoramento com (Uptime Kuma)
  • Backups diários com scripts rsync + cron
  • Alertas via Telegram para falhas criticas

Desafios e aprendizados

No começo, tive que lidar com questões como redirecionamento de portas no roteador, configuração de DNS reverso e até a instabilidade causada por picos de energias. Isso me ensinou muito sobre resiliência de infraestrutura e automação de manutenção.

Recomendações para quem quer seguir esse caminho

Se você também que montar seu servidor caseiro, recomendo estudar sobre:

  • Redes (port forwarding, IP fixo, NAT, DNS)
  • Segurança (firewall, SSH, fail2ban)
  • Docker e orquestração com Docker Compose
  • GitOps (deploys automáticos via GitHub Actions, Coolify, etc)

Fontes que me ajudaram:

  • Documentação do Ubuntu Server
  • Documentação do Coolify
  • E um vídeo especifico sobre Coolify do Erick Wendel