Mi Homelab¶
Documentación detallada y actualizada de mi homelab.
Dominio: dap.gal
Pd: este es mi DRP.
Hardware¶
- Red
- Router: ISP
-
Switch: NETGEAR GS308E 8 Puertos Gestionado
-
Cómputo
-
Raspberry Pi 5
- CPU: 4 cores
- RAM: 8GB
- EXP: M.2 HAT
- SDA: 128GB SSD
- S.O: RasPi OS Lite
-
2x Lenovo ThinkCentre M920X Tiny
- CPU: Core i3 3.6GHz
- RAM: 16GB DDR4
- SDA: 256GB SSD
- S.O: ProxmoxVE
-
Failover -> Custom server:
- CPU: Ryzen 5 5400G
- RAM: 2x8GB 3200Mhz
- SDA: M.2 SSD 256GB
- SDB: SSD SATA1 1TB
- SDC: SSD SATA2 1TB
-
Almacenamiento (NAS)
- Comming soon...
Esquema¶
Baremetal¶
- Router (192.168.1.1)
- SwitcH (192.168.1.254)
- rp5-01 (192.168.1.11)
- srv-01 (192.168.1.21)
- srv-02 (192.168.1.22)
- nas-01 (192.168.1.31)
Virtual¶
rp5-01¶
| Contenedor | S.O. | Soft | IP |
|---|---|---|---|
| rp5-01-ct-dns | Debian 12 | Pi-Hole | 192.168.1.50 |
| rp5-01-ct-proxy | Debian 12 | Traefik | 192.168.1.51 |
| rp5-01-ct-qdev | Debian 12 | corosync-qnetd | 192.168.1.52 |
| rp5-01-ct-ssh | Debian 12 | Openssh | 192.168.1.53 |
| rp5-01-ct-stats | Debian 12 | Prometheus + Grafana | 192.168.1.54 |
| rp5-01-ct-vpn | Debian 12 | Wireguard | 192.168.1.103 |
cls-01¶
cls01-srv01¶
| Contenedor | S.O. | Soft | IP |
|---|---|---|---|
| cls01-srv01-ct-home | Debian 12 | Homepage | 192.168.1.100 |
| cls01-srv01-ct-passwd | Debian 12 | Vaultwarden | 192.168.1.101 |
| cls01-srv01-ct-samba | Debian 12 | Samba | 192.168.1.102 |
| cls01-srv01-ct-photos | Debian 12 | Immich | 192.168.1.103 |
| cls01-srv01-ct-cloud | Debian 12 | Nextcloud | 192.168.1.104 |
cls01-srv02¶
| Contenedor | S.O. | Soft | IP |
|---|---|---|---|
| cls01-srv02-ct-whost | Debian 12 | Nginx | 192.168.1.151 |
| cls01-srv02-ct-git | Debian 12 | Gitea | 192.168.1.152 |
| cls01-srv02-ct-pdf | Debian 12 | Stirling | 192.168.1.153 |
| cls01-srv02-ct-tv | Debian 12 | Jellyfin | 192.168.1.154 |
| cls01-srv02-ct-music | Debian 12 | Navidrome | 192.168.1.154 |
Objetivo¶
Construir un home-datacentre de bajo consumo, con redundancia de datos y Alta Disponibilidad.
Para conseguir esto, el cluster se configura para que srv01 y srv02 repliquen sus datos, garantizando que son copias identicas, y si un nodo muere, el otro puede asumir toda la carga.
Nota: Para que la HA sea funcional, se necesita un tercer nodo en el cluster, formando un quorum entre 3 nodos. Para conseguir esto sin un tercer nodo, se crea en la rp5-01 un qdevice, que simula un tercer nodo en el cluster. Este indicará que en caso de que un nodo/contenedor muera, el otro nodo asuma la carga.
Canal de YouTube¶
Publicaré videos sobre este proyecto en mi canal de YouTube. Desde overviews del homelab hasta guías paso a paso para la instalación de cada servicio.
-> https://www.youtube.com/@davidalvarezp
Documentación¶
Raspberry Pi 5 (BM01-pi5)¶
- Configuración del host
- Configuración de LXC
- Contenedores base
- Contenedores de infraestructura
- Contenedores de servicios
Requisitos¶
- Host físico/virtual 24/7
- Conexión por Ethernet
- Conocimientos básicos Linux
Filosofía¶
- Sin cajas negras.
- Todo Open-Source.
- Solo Linux.