68 pontos por GN⁺ 2025-04-03 | 4 comentários | Compartilhar no WhatsApp
  • Como alternativa aos serviços centralizados focados em coleta de dados, o self-hosting tem ganhado popularidade recentemente
  • Com base na experiência de testar várias ferramentas e apps e operá-los de forma estável por mais de um ano, são apresentadas as ferramentas que se mostraram mais úteis
    • Uma coletânea de recomendações de runtime de contêineres, ferramentas de gerenciamento via web, proxy reverso e VPN, além de outras ferramentas de self-hosting
  • Este não é um texto para determinar qual solução é superior; o foco é enfatizar que problemas diferentes têm soluções diferentes

Runtime de contêineres

  • Hoje em dia, contêineres se tornaram a base da hospedagem, e a forma tradicional está cada vez mais rara
  • Isso é uma tendência muito positiva para usuários de home server (homelabber), pois contêineres simplificam a distribuição de software e oferecem desempenho mais eficiente do que máquinas virtuais
  • A maioria usa Docker, mas este texto apresenta vários runtimes alternativos que podem ser usados em ambientes domésticos
  • Docker

    • O runtime de contêineres original e mais amplamente utilizado
    • Graças à documentação abundante e à comunidade, mesmo quem não está acostumado com TI pode copiar um docker-compose.yml do GitHub e colocá-lo para rodar
    • No entanto, é preciso considerar separadamente as configurações relacionadas à segurança
  • Podman

    • Um runtime de contêineres de nova geração que vem chamando atenção por sua arquitetura rootless e compatibilidade com a CLI do Docker
    • Como funciona sem daemon, é adequado para quem prioriza segurança ou quer aprender as tecnologias relacionadas
    • A maioria dos comandos do Docker pode ser usada diretamente, e a compatibilidade via alias para o comando docker facilita a migração
    • Embora haja uma barreira inicial de entrada, a acessibilidade vem melhorando com a evolução da documentação e da comunidade
    • Além disso, com Podman Quadlets, também é possível fazer gerenciamento declarativo de contêineres baseado em systemd no lugar de docker compose
  • Kubernetes

    • Para usuários de home server curiosos e experimentais, é uma ferramenta avançada que desperta o desejo de encarar um desafio
    • Como uma ferramenta de orquestração capaz de gerenciar inúmeras instâncias com elegância, oferece uma experiência de administração em nível empresarial
    • Porém, como tem muitos recursos e é bastante complexo, é excessivo para a maioria dos usuários
    • Em ambientes domésticos, o principal objetivo costuma ser o aprendizado em si, com foco maior na compreensão da tecnologia do que no uso prático

Ferramentas web de gerenciamento de contêineres

  • Alguns usuários preferem manter e gerenciar arquivos compose no disco local, mas isso traz a inconveniência de ter que acessar o servidor por SSH sempre que quiser verificar logs
  • Em vez disso, usar ferramentas web de gerenciamento de contêineres torna o trabalho muito mais conveniente
  • Portainer

    • A ferramenta de gerenciamento com interface web mais estável, compatível com Docker, Kubernetes e Podman
    • É amplamente usada desde home servers até ambientes corporativos, e também é muito útil para aprender por meio do uso prático
    • Há uma versão open source comunitária e uma versão enterprise com recursos adicionais (3 licenças são oferecidas gratuitamente)
    • Sua interface intuitiva e variedade de recursos tornam o gerenciamento de contêineres muito vantajoso
  • Dockge

    • Uma nova ferramenta web de gerenciamento de Docker Compose criada pelo desenvolvedor do Uptime Kuma
    • Ainda não é tão madura quanto o Portainer, mas seu ponto forte é uma UI muito simples e intuitiva
    • O desenvolvedor responde rapidamente a issues no GitHub, e há atualizações regulares
    • Indicada para usuários que preferem ferramentas leves e minimalistas

Proxy reverso e VPN

  • Para acessar aplicações self-hosted de fora da rede local, há dois métodos principais:
    • Expor o serviço diretamente à internet
    • Acessar a rede interna via VPN
  • A VPN é mais segura do ponto de vista de segurança, mas a exposição à internet também pode ser bastante útil se for bem configurada
  • Pangolin

    • Uma solução inovadora que combina VPN e proxy reverso em um só
    • Funciona como uma espécie de Cloudflare para self-hosting
    • Basta instalar o servidor de ingress em um VPS ou similar, e então é possível conectar com facilidade usando um cliente VPN em vários ambientes
    • Inclui até integração com CrowdSec e recursos básicos de SSO
    • É uma ferramenta tão impressionante que foi o motivo de o autor escrever este texto, e com o tempo pode se tornar a principal alternativa padrão às soluções existentes
  • Nginx Proxy Manager (NPM)

    • Um frontend do Nginx que permite configurar proxies TCP/UDP/HTTP(S) facilmente por meio de uma interface web
    • Muitos usuários o utilizam, mas o autor avalia que alguns recursos (por exemplo, proteção por senha) são instáveis
    • Não deixou uma ótima primeira impressão por ter sido a primeira ferramenta com que teve contato, mas quando funciona cumpre bem seu papel
  • Caddy

    • Com um arquivo de configuração simples (Caddyfile), automatiza desde a configuração de proxy até a emissão de certificados HTTPS
    • Como não tem interface web, não é recomendado para iniciantes, mas para usuários que gostam da filosofia UNIX é a melhor escolha
    • Oferece suporte nativo ao Let’s Encrypt, e a vantagem é não exigir configurações complexas
  • NetBird

    • Uma solução de VPN à qual quem já conhece o Tailscale consegue se adaptar imediatamente
    • Configura automaticamente uma rede baseada em WireGuard, reduzindo a complexidade de configuração
    • Oferece flexibilidade por permitir tanto o uso do plano gratuito em nuvem quanto self-hosting

Ferramentas de monitoramento de status e alertas

  • Uptime Kuma

    • Permite monitorar facilmente o status de serviços sem precisar de uma stack pesada como Zabbix ou Grafana
    • Com uma única implantação, é possível configurar alertas por vários canais
    • Excelente para verificar a disponibilidade de sistemas self-hosted
  • Gotify

    • Um servidor de notificações que permite enviar push notifications com uma simples requisição HTTP
    • Após instalar o app no celular, é possível receber alertas, além de permitir integração com Uptime Kuma e outros
    • É prático por poder ser usado junto com várias ferramentas de self-hosting

Materiais adicionais para buscar apps de self-hosting

  • Uma coletânea de recursos úteis para encontrar várias aplicações de self-hosting
  • Awesome-Selfhosted

    • Uma vasta lista de softwares disponível no GitHub
    • É um pouco desorganizada e inclui alguns projetos cujo desenvolvimento foi interrompido
  • Selfh.st

    • É a fonte de referência favorita do autor
    • Oferece uma newsletter com recomendações de aplicações de nicho e um grande diretório de aplicações com recurso de ordenação
    • É um site muito útil
  • awesome-docker-compose

    • Uma coletânea de arquivos Docker Compose prontos para uso imediato
    • Alguns aplicativos podem ter problemas de compatibilidade devido a atualizações, mas no geral é uma boa referência

4 comentários

 
ifmkl 2025-04-04

Comprei um n100 na última promoção do Ali, instalei o promox e, por enquanto, já fiz backup de todos os dados que eu usava no servidor Oracle ARM. Além disso, deixei o Xpenology e o pfSense instalados e, embora ainda não esteja rodando pra valer, pretendo migrar em breve para ele como principal.

 
bus710 2025-04-04

No fim do ano passado, assinei um serviço de VPN que estava em promoção. Comecei a pensar em fazer self-hosting aos poucos, porque parece que grandes serviços vão passar por várias mudanças. Por enquanto, vou testando aos poucos, migrando as senhas e os favoritos do navegador.

 
wedding 2025-04-04

Docker + Portainer + Cloudflare + Uptime Kuma
Estou usando assim.

 
GN⁺ 2025-04-03
Comentários do Hacker News
  • Gosto da ideia de auto-hospedagem. Mantenho vários sites pequenos e projetos, então recursos não são um grande problema

    • A segurança é o problema. Não sei bem como operar com segurança um site auto-hospedado em casa
    • Continuo aprendendo, mas quanto mais aprendo, mais perguntas surgem. Tenho receio de que, se eu disser algo errado, alguém invada minha rede
    • Por causa dessa ansiedade, acabo usando serviços como Akamai, Linode e DO
    • Estou procurando materiais sobre segurança em auto-hospedagem
  • Estou configurando um novo VPS

    • Uso a assinatura de desenvolvedor do RHEL 9. Instalei dnf-automatic e automatizei as atualizações com a configuração reboot = when-changed
    • Para os serviços, uso podman e quadlets. Estou usando como substituto do docker-compose
    • Pretendo rodar nginx, vaultwarden, postfix, webmail etc.
    • Há muito desperdício de espaço em disco por causa dos dados de imagem
  • Estou preocupado com o aumento da auto-hospedagem

    • Usuários de auto-hospedagem vão chamar cada vez mais atenção
    • Seria interessante um artigo sobre como alugar um VPS na China
  • Pretendo continuar usando dokku para hospedar apps web

  • Estou gerenciando Hashicorp Nomad, Consul e Traefik com OpenTofu

    • Docker standalone não funciona bem. Para mudar propriedades do contêiner, é preciso recriá-lo
    • Quadlet dificulta o gerenciamento de clusters de serviços. Diferenças sutis do Podman acabam causando problemas
    • Kubernetes é pesado demais. Mesmo distribuições leves continuam pesadas
    • Com a configuração atual, consigo expor serviços HTTPS com facilidade
  • Já usei Portainer, mas docker compose era mais fácil

    • Se for para modo rootless, Podman é uma boa escolha. Docker também pode funcionar em rootless
    • O rootless do Docker é estável no Debian e no Ubuntu
    • Não há necessidade de Watchtower. É possível configurar docker compose pull automático com crontab
  • Ao fazer auto-hospedagem, recomendo não usar contêineres e optar por um gerador de site estático

    • Se precisar de recursos dinâmicos, dá para usar PHP. Também é possível reforçar a segurança com configurações do nginx
    • Recomendo usar datasets do zfs para fazer backup de dados importantes
  • Faço auto-hospedagem com FreeBSD jails e scripts de shell

    • Abri mão da conveniência, mas mantenho uma interface estável
  • Este artigo me motivou a atualizar minha forma de hospedagem

    • Eu estava rodando projetos pessoais em um VPS da DigitalOcean
    • Migrei para Portainer + Caddy para implementar gerenciamento de contêineres e automação de certificados SSL
    • Obrigado por me levar para 2025