docs: rewrite README with clean structure and 4-layer architecture overview
- Remove old content (next steps executados, arquitetura defasada) - Add clean repo structure - Document how Picsur deploy works - Add inventory files table - Add next steps roadmap
This commit is contained in:
parent
f0d1cd789e
commit
112e62fed6
78
README.md
Normal file
78
README.md
Normal file
@ -0,0 +1,78 @@
|
||||
# Homelab — Infraestrutura como Código
|
||||
|
||||
> Guardiã: **Gaia** (Agente Hermes)
|
||||
> Dono: João Paulo Ferreira (jp@iamferreirajp.com)
|
||||
> Repo: [gaia/homelab](https://gitea.hackerfortress.cc/gaia/homelab)
|
||||
|
||||
## Visão Geral
|
||||
|
||||
Todo o homelab versionado como **IaC** — Infrastructure as Code. O objetivo: ter o ambiente completo documentado e reproduzível, do físico ao serviço.
|
||||
|
||||
## Arquitetura em 4 camadas
|
||||
|
||||
```
|
||||
inventory/ # Camada 0 — Single Source of Truth (máquinas, IPs, discos)
|
||||
terraform/ # Camada 1 — Provisão (VMs, pools, rede)
|
||||
ansible/ # Camada 2 — Configuração de OS
|
||||
services/ # Camada 3 — Aplicações (Docker Compose)
|
||||
```
|
||||
|
||||
## Inventário
|
||||
|
||||
| Arquivo | Conteúdo |
|
||||
|---------|----------|
|
||||
| `inventory/physical.yaml` | Máquinas físicas, MACs, IPs |
|
||||
| `inventory/proxmox.yaml` | VMs e LXC no Proxmox |
|
||||
| `inventory/truenas.yaml` | Discos ZFS, pools, datasets |
|
||||
| `inventory/network.yaml` | VLANs, subnets, DNS |
|
||||
|
||||
## Serviços ativos
|
||||
|
||||
```
|
||||
services/dockerino/ # 11 serviços via Docker Compose
|
||||
├── picsur/ # Galeria de imagens
|
||||
├── adguard/ # DNS + bloqueador
|
||||
├── nginx-proxy/ # Reverse proxy + Let's Encrypt
|
||||
├── outline/ # Wiki colaborativa
|
||||
├── bookstack/ # Wiki/notes
|
||||
├── homer/ # Dashboard
|
||||
└── ... (mais)
|
||||
|
||||
services/media/ # Jellyfin (media server)
|
||||
```
|
||||
|
||||
## CI/CD — Gitea Actions
|
||||
|
||||
Workflows em `.gitea/workflows/`:
|
||||
- `picsur.yml` — valida e faz deploy do Picsur via SSH no Dockerino
|
||||
|
||||
## Como funciona o deploy do Picsur
|
||||
|
||||
1. PR aberto → Gitea Actions valida (`docker compose config`, `docker compose pull`)
|
||||
2. Merge para `main` → deploy automático via SSH:
|
||||
```bash
|
||||
ssh root@10.0.0.50
|
||||
rsync -avz services/dockerino/picsur/ /root/dockerino/picsur/
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
## Próximos passos
|
||||
|
||||
1. Preencher `inventory/` com dados reais do Proxmox e TrueNAS
|
||||
2. Configurar Terraform Cloud via API (state versionado)
|
||||
3. Migrar deploy do Picsur para ler do inventory (não hardcoded)
|
||||
4. Expandir para os outros serviços
|
||||
|
||||
## Estrutura atual do repo
|
||||
|
||||
```
|
||||
homelab/
|
||||
├── .gitea/workflows/ # CI/CD
|
||||
├── ansible/ # (em construção)
|
||||
├── gitea-runner/ # Runner de CI/CD
|
||||
├── inventory/ # Single Source of Truth
|
||||
├── services/ # Docker Compose por serviço
|
||||
│ ├── dockerino/ # 11 serviços
|
||||
│ └── media/ # Jellyfin
|
||||
└── terraform/ # (em construção)
|
||||
```
|
||||
Loading…
Reference in New Issue
Block a user