Perdi o SSD e o HD de backup juntos, sem git: como a IA me ajudou a reconstruir o homelab
Um dia eu perdi, de uma vez, o SSD do servidor e o HD de backup. Não consegui recuperar nada. Foram embora os serviços, as configurações e o pior: o código das aplicações que eu mesmo tinha desenvolvido, porque nada daquilo estava num repositório git.
Recomecei do zero, e quem me ajudou a reconstruir as aplicações foi a IA. Fui aplicação por aplicação, buscando o código de novo, revisando e testando cada pedaço antes de colocar no ar. Não foi mágico, mas transformou "perdi meses de trabalho" em "tenho trabalho para alguns dias".
A lição número um não é sobre IA, é sobre git
Disco morre. O estrago veio de o código existir em um lugar só. Depois disso, a regra virou: toda aplicação nasce com repositório. Hoje cada projeto tem repositório privado no GitHub, e o deploy roda por runners self-hosted do GitHub Actions num container LXC do Proxmox. E o backup dos containers agora também tem cópia fora de casa.
Se você tem scripts e aplicações caseiras sem git, comece por um git init e um repositório privado (GitHub, GitLab ou um Gitea self-hosted). Só isso já resolve a pior parte.
Como uso IA no homelab hoje
Uso o Claude Code, que roda no terminal e executa comandos de verdade. Ele me ajuda a montar containers, escrever e corrigir código, configurar deploys e timers do systemd e investigar problemas pelos logs.
E não toca em uma coisa: o host do Proxmox. Se algo der errado dentro de um container, eu restauro aquele container. Se der errado no host, eu perco o homelab inteiro.
As regras que eu dou para a IA
- Segredos fora do código: arquivos
.envem/etc/<app>/, com permissão600, nunca no repositório nem em logs. - Nada sai para fora sem eu confirmar: publicar, criar recurso em nuvem ou gastar dinheiro só com o meu OK.
- Produção não se mexe sem pedir.
- Regras escritas por projeto: cada repositório tem um
CLAUDE.md, que o Claude Code lê no início de cada sessão.
O item 4 foi o que mais fez diferença: as regras ficam versionadas junto com o código, em vez de depender da memória da conversa.
install -d -m 750 /etc/minha-app
install -m 600 /dev/null /etc/minha-app/app.env
Depois, a unit do systemd carrega o arquivo com EnvironmentFile=/etc/minha-app/app.env.
Ferramentas que executam comandos podem apagar arquivos e derrubar serviços se você deixar. Comece por um container de teste e revise o que ela pretende fazer antes de ampliar o alcance.
E vocês, deixam a IA mexer no homelab? Até onde?
O post completo está no meu blog: https://blog.brumarino.com/ia-reconstruir-homelab-claude-code/?de=tabnews