2

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

  1. Segredos fora do código: arquivos .env em /etc/<app>/, com permissão 600, nunca no repositório nem em logs.
  2. Nada sai para fora sem eu confirmar: publicar, criar recurso em nuvem ou gastar dinheiro só com o meu OK.
  3. Produção não se mexe sem pedir.
  4. 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

Carregando publicação patrocinada...