Infraestrutura como Código do Homelab - Terraform, Ansible, Docker Compose
Homelab — Infraestrutura como Código
Guardiã: Gaia (Agente Hermes)
Mantido por: João Paulo Ferreira (jp@iamferreirajp.com)
Repositório Base: gaia/homelab
Visão Geral
Este repositório contém toda a infraestrutura do homelab em formato de Infraestrutura como Código (IaC). O objetivo é ter todo o ambiente versionado, documentado e reproduzível.
Hardware do Homelab
| Máquina |
IP |
Função Principal |
| TrueNAS |
10.0.0.30 |
NAS, n8n, Uptime Kuma |
| Proxmox |
10.0.0.20 |
Hypervisor (VMs) |
| Dockerino |
10.0.0.50 |
Docker Host (NPM, AdGuard, etc) |
| Media |
10.0.0.36 |
Jellyfin, Sonarr, Radarr, etc |
| Home Assistant |
10.0.0.100 |
Automação residencial |
| ER605 (Omada) |
10.0.0.1 |
Router/Gateway |
Topologia de Rede
- VLAN1 (Infra): 10.0.0.0/24 — Servidores
- VLAN10 (Geral): 10.0.10.0/24 — Computadores, celulares
- VLAN20 (IOT): 10.0.20.0/24 — Dispositivos IoT
- VLAN30 (Guests): 10.0.30.0/24 — Visitantes
Estrutura do Repositório
homelab/
├── terraform/ # Terraform para recursos de nuvem/rede
│ ├── er605/ # Router TP-Link ER605 (Omada Controller)
│ ├── truenas/ # TrueNAS
│ ├── proxmox/ # Proxmox
│ └── adguard/ # AdGuard Home
├── ansible/ # Ansible para configuração de VMs
│ ├── roles/ # Roles reutilizáveis
│ └── playbooks/ # Playbooks principais
├── docker/ # Docker Compose files
│ ├── dockerino/ # Stack do Dockerino (10.0.0.50)
│ │ ├── nginx/ # Nginx Proxy Manager
│ │ ├── adguard/ # AdGuard Home
│ │ ├── outline/ # Outline Wiki
│ │ ├── bookstack/ # BookStack
│ │ └── ...
│ └── media/ # Stack de mídia (10.0.0.36)
│ └── docker-compose.yml
└── docs/ # Documentação adicional
├── ARCHITECTURE.md # Arquitetura detalhada
└── NEXT_STEPS.md # Próximos passos
Quick Start
Clonar o Repositório
git clone https://gitea.hackerfortress.cc/gaia/homelab.git
cd homelab
Aplicar Terraform
cd terraform/er605
terraform init
terraform plan
terraform apply
Aplicar Ansible
cd ansible
ansible-playbook playbooks/setup-dockerino.yml
Subir Docker Stacks
cd docker/dockerino/nginx
docker compose up -d
Serviços
Dockerino (10.0.0.50)
| Serviço |
Porta |
Domínio |
| Nginx Proxy Manager |
80, 443 |
proxy.hackerfortress.cc |
| AdGuard Home |
3000 |
adguard.hackerfortress.cc |
| Outline Wiki |
3001 |
outline.hackerfortress.cc |
| BookStack |
8082 |
bookstack.hackerfortress.cc |
| Homer |
8090 |
(internal) |
| HomeBox |
3100 |
homebox.hackerfortress.cc |
| FlatNotes |
8089 |
flatnotes.hackerfortress.cc |
| Picsur |
8091 |
picsur.hackerfortress.cc |
| Speedtest |
8765 |
speedtest.hackerfortress.cc |
| Omada Controller |
8043 |
omada.hackerfortress.cc |
| Twingate |
- |
VPN |
Media (10.0.0.36)
| Serviço |
Porta |
Domínio |
| Jellyfin |
8096 |
jellyfin.hackerfortress.cc |
| Sonarr |
8989 |
sonarr.hackerfortress.cc |
| Radarr |
7878 |
radarr.hackerfortress.cc |
| Prowlarr |
9696 |
prowlarr.hackerfortress.cc |
| Bazarr |
6767 |
bazarr.hackerfortress.cc |
| qBittorrent |
5080 |
qbittorrent.hackerfortress.cc |
TrueNAS (10.0.0.30)
| Serviço |
Porta |
| SSH |
22 |
| WebUI |
443 |
| n8n |
30109 |
| Uptime Kuma |
31050 |
Mantenedores
- Gaia — Guardiã da IaC (este repositório)
- Héstia — Documentação e arquitetura original
Licença
MIT