// 09 INFRA · DEVOPS

Homelab self-hosted

A minha infraestrutura production-grade em casa: a rede, o CI/CD, as bases de dados e o backup de todos os projetos pessoais, com segurança zero-trust e tudo documentado em runbooks.

// Rede zero-trust

Acesso
WireGuard VPN · sem portas abertas
Authelia
Gateway
Nginx Proxy Manager + SSL · SSO
VLANs
segmentação em VLANs
trustedserviçosDEVIoTconvidados
🛡 Acesso remoto só por túnel cifrado; SSO com Authelia à frente dos serviços; redes separadas para DEV, IoT e convidados. Novos serviços só sobem quando o ganho justifica a superfície.

// Serviços (Ubuntu Server · Docker)

🏹
Git & CI/CD
Gitea + Runner para builds tag-driven; Portainer para gerir os containers.
🌐
Proxy & DNS
Nginx Proxy Manager com SSL wildcard e Pi-Hole para DNS local e adblock.
🗃
Dados
PostgreSQL 16 e MSSQL 2022, com DEV e STAGING em redes isoladas.
🔑
Secrets
KeePass + Vaultwarden, com split de segredos entre o que é pessoal e o que é de serviço.
🔄
Sync & VPN
Syncthing para sincronização cifrada entre dispositivos; WireGuard para acesso remoto.
📊
Observabilidade
Prometheus com alertas - foi assim que apanhei um backup morto há 13 dias.

// CI/CD tag-driven

push tag
vX.Y.Z no Gitea
runner
build + gate
testes · quality gate
deploy
staging → prod
+ mirror GitHub

// Backups 3-2-1 & runbooks

💾
3-2-1
Dumps de Postgres + cópia no NAS + offsite cifrado para a cloud (rclone), sem privilégios elevados.
Backup nunca restaurado
Não é backup. Por isso há verificação e alerta - um job que falhava em silêncio foi apanhado ao 13.º dia.
📖
Runbooks
Procedimentos escritos: deploy de app nova, adicionar serviço, rotação de certificados e recuperação de backup.

// detalhes

// baseUbuntu Server 24.04 · Docker
// redeVLANs · WireGuard · Authelia · NPM
// CI/CDGitea + Runner · mirror GitHub
// dadosPostgreSQL 16 · MSSQL 2022
// backup3-2-1 · offsite cifrado
// papelDesenho, operação e runbooks