// 06 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)

docker compose ps
$ docker compose ps
  SERVICE                STATUS
  gitea + runner         Up    CI/CD tag-driven
  nginx-proxy-manager    Up    SSL · SSO
  authelia               Up    zero-trust
  pi-hole                Up    DNS · adblock
  postgres-16            Up
  mssql-2022             Up
  vaultwarden            Up    secrets
  syncthing              Up    sync cifrado
  prometheus             Up    alertas
 ~10 serviços · 0-3 €/mês · 3 máquinas
📊 Prometheus com alertas à frente - foi assim que apanhei um backup morto há 13 dias. Dados (Postgres/MSSQL) com DEV e STAGING em redes isoladas.

// 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