O que é selfhosting e por que adotá-lo

Caio Volpato
Computando Arte
Published in
4 min readMay 28, 2021

Muitos dos serviços digitais que utilizamos no nosso dia a dia estão na “nuvem”, como Gmail, LinkedIn, Google Drive/Docs etc … e como diria um famoso ditado “essa tal de “nuvem” não existe, são apenas computadores de outras pessoas”. Mas, então quais as implicações da maioria das nossas vidas digitais estar nesses computadores dessas grandes empresas? Essas implicações no geral são positivas para os usuários?

Neste texto, que vai ser o primeiro de uma série, vamos falar de uma alternativa simples chamada self hosting, ou seja, hospedar os serviços que usamos em computadores que de fato temos controle, e como fazê-lo.

Motivos para adotar o self-hosting

Dentre todos os motivos para adotar o self-hosting, vale destacar os seguintes:

Segurança

Com muita frequência, vemos notícias de vazamentos envolvendo nossos dados, e mesmo assim muitos dos vazamentos não são percebidos pelas próprias empresas e logo não são noticiados, ou seja, a quantidade de vazamentos pode ser ainda maior.

Pensando em termos de incentivos, hospedar localmente nos torna um alvo menos atrativo que as big techs. Enxergando no ponto de vista de um criminoso, comprometer uma big tech dará acesso aos dados de milhões de pessoas, enquanto comprometer uma pequena infra não renderá tantos dados assim. Além disso, outro incentivo para atacar as big techs é que muitas delas têm programas de bug bounty para recompensar a descoberta das suas inseguranças.

E também isso vai te ensinar quais são as boas práticas de segurança e como adotá-las.

Privacidade

Outro ditado famoso diz que se o serviço é gratuito, o produto é você. E isso é verdade, você está pagando o serviço com seus dados, que via de regra serão usados para propaganda direcionada.

Com self-hosting, seus dados ficam apenas com você, retomando totalmente sua privacidade, afinal foi você quem montou o esquemas de criptografia de disco, gerenciamento de senhas (como as senhas sempre vazam não pode usar a mesma senha em mais de um lugar)

Aprendizado e experiência

Para mim a aprendizagem é a principal vantagem, você terá um conhecimento e experiência enorme em diversas disciplinas como:

  • Sistemas operacionais (principalmente Linux e talvez BSD).
  • Redes.
  • Segurança.
  • Contêineres.
  • Linguagens de script.
  • Infraestrutura como código.
  • Monitoramento.
  • E principalmente Inglês.

Isso será aplicado na operação da sua infra, ou seja, instalação, backup, atualizações, planejamento de capacidade e etc …

Ter o seu “ambiente controlado” vai te possibilitar aprender, testar e quebrar as coisas que te proporcionará um aprendizado enorme que num ambiente profissional do trabalho muitas vezes não te permitiria.

Exemplos de aplicações

As aplicações mais comuns que normalmente são hospedadas são:

  • Pi-Hole: Bloqueia anúncios e outros recursos (scripts, cookies etc) que te rastreiam. Como é um serviço de rede funciona para todos os dispositivos e não apenas seu navegador web.
  • syncthing: Permite sincronizar seu celular android com o PC e vice-versa. Se tiver interesse leia meu texto de como montei meu setup de backups: Como parei de me preocupar e passei a adorar minha solução de backups.
  • nextcloud: É uma solução de completa para colaboração, permite sincronizar arquivos como dropbox, sincronizar contatos e agenda, quadro kanban (tipo trello), videochamadas e muito mais.
  • Home Assistant: Gosta da sua Alexa ou google assistant controlando suas luzes e outras coisas da sua smart home? Com o Home assistant você consegue ter seu próprio hub de automação com total privacidade e controle. Gosta de eletrônica? O projeto esphome consegue integrar suas plaquinhas ESP8266/ESP32 com o Home Assistant.

Considerações finais

Com o self-hosting você terá privacidade e controle total dos seus dados e vai aprender muito nessa jornada. Nos próximos textos vamos entrar em mais detalhes de como começar.

Vale uma pequena ressalva, caso você seja uma pessoa dev e só quer colocar seu app no ar, e seu objetivo principal agora é apenas isso, talvez ir pelo caminho do self-hosting não seja a melhor alternativa agora. Administração de sistemas é muitas vezes um trabalho de tempo integral e talvez seja melhor usar serviços como heroku, vercel e netlify que cuidaram de tudo para você, para que consiga fazer essa entrega mais rápido. E quanto tiver disponibilidade, recomendo o estudo e adoção do self-hosting :P

--

--

Caio Volpato
Computando Arte

🧮 Applied and computational mathematics 🖖 loves sci-fi