A verdade é que privacidade nunca foi algo que passava pela minha cabeça até pouco tempo atrás. Acho que um cenário menos focado em privacidade é impossível, já que eu usava o ecossistema do Google pra tudo. Era Google Fotos, Gmail, Google Drive, senhas salvas naquele gerenciador do próprio Chrome, tudo. Querendo ou não, costuma funcionar muito bem, já que é só logar com a conta Google em um novo PC e vai estar tudo lá, pronto para usar. A comodidade é evidente, mas tem aquilo, né: “se é de graça, o produto é você”.
Estava tudo indo na mesma até que um dia o algoritmo do YouTube me jogou um vídeo de um gringo explicando por que você deveria ter um home-server. Que você devia rodar a própria nuvem e os próprios serviços, em vez de entregar tudo de mão beijada para as Big Techs. Mudou alguma coisa na minha vida? Naquela época não. Mas a ideia ficou arquivada na minha mente.
Sabe-se lá o porquê, numa quarta-feira à tarde, meses depois, eu resolvi pegar um notebook Asus antigo que eu tinha aqui, caindo aos pedaços (dos 10 parafusos que ele tinha, sobraram 2, e justo o “2” do teclado caiu e não se sabe mais do seu paradeiro). No lugar do Windows que ele rodava, instalei o Ubuntu-server, e assim começou.
Começou porque eu realmente devia estar MUITO à toa naquele dia. Só uma forma razoavelmente produtiva de passar o tempo, aprendendo o básico do Linux, de servidores, contêineres, segurança, backups, open-source e por aí vai.
O que era para ser só um passatempo acabou virando algo bem sério (na medida em que um home-server poderia ser algo sério, kkkk). Hoje, esse notebook velho roda praticamente tudo o que eu uso no meu dia a dia, com um foco extremo em privacidade, tema que foi crescendo em mim em contato com esse meio. Tem uma galera pra quem privacidade é tudo, e eu estou virando um deles.
O empurrão da Inteligência Artificial
Sendo bem honesto: esse servidor nunca teria saído do chão se não fosse pelas ferramentas de IA. Meu background é em engenharia, mas lá a gente aprende C e Fortran pra fazer matemática pura. A gente não aprende quase nada sobre ciência da computação em si. Mesmo partindo de um ponto que não é o zero completo, a curva de aprendizado para entender Docker, redes e permissões de arquivos não é das mais simpáticas. Se fosse uns 5 anos atrás e eu dependesse exclusivamente de vídeos no YouTube e postagens em fóruns mais obscuros, certamente esse home-server teria parado naquela quarta-feira de fevereiro.
A IA foi, e tem sido, o meu tutor 24/7. Ela trouxe para o português linguagens de programação com as quais eu não estava habituado, me explicou onde eu estava errando e acelerou um processo que, em circunstâncias normais, levaria meses (ou anos, sei lá).
Ironias da vida: do meu antigo vício no ecossistema Google, só sobrou o Gemini, que é um baita quebra-galho pro meu trabalho.
O foco em segurança
Como eu disse, sou leigão de tudo. Não saberia configurar nada complexo e nem pretendo me propor a cuidar da segurança de um servidor exposto à internet. Reza a lenda aí que é um pesadelo, com bots rodando 24/7 tentando achar servidores e explorar suas vulnerabilidades. Por isso, antes de mais nada, rodo tudo atrás de uma VPN, o Tailscale.
Para o mundo exterior, meu servidor simplesmente não existe. Para acessar qualquer serviço de fora de casa, eu preciso estar autenticado na minha VPN.
Ainda que porventura alguém de fora consiga magicamente se autenticar na VPN, por dentro o servidor tem suas próprias camadas locais de autenticação e criptografia.
Não pretendo aqui falar a fundo disso, até pra não passar vergonha. Mas acho que a importância disso é meio óbvia. Não faria sentido nenhum abandonar o Google pra dar meus dados de mão beijada pra gente muito pior, kkkkk.
O que roda na minha máquina
Para gerenciar os contêineres de forma visual, uso o Portainer (um dashboard fantástico que me poupa de usar o terminal para tudo) e o Nginx Proxy Manager para criar links bonitinhos para os serviços locais.
Atualmente, dentre outras coisas menos ou mais importantes, eu rodo o seguinte:
- Vaultwarden: É um gerenciador de senhas. Uma versão leve e self-hosted do Bitwarden. Todas as minhas senhas e códigos de autenticação em duas etapas (MFA) ficam criptografados no meu próprio hardware e são preenchidas automaticamente sempre que preciso logar em algum site. Eu os só preciso lembrar de uma senha, que é a do próprio Vaultwarden. É importante não repetir senhas, viu? Se um site sofre vazamento e você usa a mesma senha pra todos, é como se todos tivessem vazado, né?
- BentoPDF: Minha salvação contra o iLovePDF. Afinal, não fazia sentido montar toda uma estrutura focada em privacidade e continuar upando contratos e documentos sigilosos de clientes em servidores de terceiros para juntar páginas ou converter arquivos. O BentoPDF roda 100% local (e por conta disso é até mais rápido).
- Vikunja + ntfy: O Vikunja é um gerenciador de tarefas open-source. É lá que eu marco as minhas tarefas e prazos. Como ele não tem notificações nativas para celular, integrei-o ao ntfy para me mandar alertas em tempo real.
- n8n: É uma plataforma de automações. Eu uso ele para fazer a ponte entre Vikunja e ntfy. Além disso, ele conecta a API do notaas para emitir notas fiscais automáticas do meu outro CNPJ e também envia dados direto para o Beeminder.
Inclusive, este artigo só está saindo hoje na base da ameaça: eu configurei o Beeminder para monitorar o RSS feed do meu site. Se eu não publicasse algo hoje, já tomava aquela estralada em dólares.
- Pi-hole: Bloqueio de anúncios e rastreadores direto na rede.
- Securo: A adição mais recente. Um gerenciador financeiro pessoal open source muito bom, lançado há pouco tempo por um desenvolvedor BR (VAI BRASIL!!!). Esse é mais um que vai pra série “sempre quis ser organizado mas nunca consegui”. Já tentei usar outras ferramentas, mas aí tem aquela semana difícil, eu deixo de anotar os gastos e aí já era, abandono tudo. O Securo tem sincronização com o Open Finance, então já puxa os dados das minhas contas bancárias. Ah, se você abrir o site deles, já vai dar de cara com o ponto principal de venda (que não é venda, já que é open source): privacidade.
O fim do Word
Por conta do servidor eu aboli o uso de Word também… agora eu faço todas as minhas petições usando LaTeX, que é um sistema onde você escreve o texto em formato de código e ele compila um PDF impecável.
Eu faço isso rodando o Code-server (que é uma versão do VS Code no navegador) junto com o LaTeX Workshop. Pra quem não está acostumado parece meio grego, mas depois de um tempo vira algo normal.
Eu perdi muito tempo apanhando do LaTeX até chegar num modelo visual que me agradasse para petições, procurações e contratos. Mas vai dar retorno um dia: hoje eu foco 100% no conteúdo do texto. O resto — endereçamento, qualificação das partes, formatação, margens e espaçamentos, colocação de imagens etc. — é gerado de forma totalmente automática pelo sistema.
Sem esquecer o certificado digital
Os advogados de plantão aí vão confirmar que isso já aconteceu pelo menos uma vez com todo mundo: você precisa peticionar e voilà, cadê o token??
O certificado digital ficou em casa e você tá no escritório, ou vice-versa, e dá-lhe uma via sacra para conseguir peticionar. Isso quando não é caso urgente e você acaba pedindo pra um coleguinha peticionar pra você.
O servidor matou esse problema pra mim também. No meu caso, os meus tokens ficam espetados 24/7 nas portas USB do meu home-server. Usando um software chamado usbip, eu consigo conectar o token no meu PC virtualmente. Faz até aquele barulhinho de dispositivo USB conectado do Windows. Nunca mais tive esse problema de esquecimento. Um botão e já era, token conectado no PC.
Existem soluções mais elegantes, mas deixa eu ser feliz.
Próximos passos
Parece que essa história de self-hosted nunca tem fim, viu? Você resolve um problema e imediatamente caça outro para colocar no lugar. O que eu penso em implementar nas próximas semanas:
-
- Paperless-ngx: É um programa que serve para a gestão de documentos, com organização automática e OCR (reconhecimento de texto). Escanear tudo, deixar tudo organizado por categorias, e me livrar da papelada.
- Redundância de internet: Configurar um backup de rede. Se a minha internet principal cair, uma secundária assume e eu não perco o acesso ao servidor.
- Interface própria para prazos e petições: Criar um sistema próprio, mais amigável, que use toda essa estrutura de LaTeX por trás dos panos, mas que tenha uma cara compreensível para que eu possa, eventualmente, compartilhar o painel com colaboradores sem assustá-los. Criar uma experiência mais próxima do Word, por exemplo.
O que começou como uma forma de passar o tempo acabou se tornando o centro de praticamente toda a minha vida, pessoal e profissional. E a melhor parte é poder personalizar tudo o que eu quiser, e deixar tudo do meu jeito (fora que não paga mensalidade de nada, só da internet e a conta de energia, que nem altera o mínimo da taxa onde o servidor fica ligado). Recomendo!