Mi Homelab¶
Documentación detallada y actualizada de mi homelab. Pd: esto me sirve como DRP.¶
Hardware actual¶
- Red
-
Switch NETGEAR GS308E 8 Puertos Gestionado
-
Cómputo
- Raspberry Pi 5 8GB RAM + M.2 SSD 128GB.
-
Custom server:
- CPU: Ryzen 5 5400G
- RAM: 2x8GB 3200Mhz
- SDA: M.2 SSD 256GB
- SDB: SSD SATA1 1TB
- SDC: SSD SATA2 1TB
-
Almacenamiento
- Comming soon...
Nomenclatura¶
Para establecer un orden y una lógica entre las máquinas y dispositivos, establecí la siguiente arquitectura:
- Red
- RF00: Router Físico
- RV00: Router Virtual
- FF00: Firewall Físico
- FV00: Firewall Virtual
- SF00: Switch Físico
-
SV00: Swtich Virtual
-
Hosts
- BM00: Bare-Metal (Host físico)
- CB00: Contenedor Base
- CI00: Contenedor Infraestructura
-
CS00: Contenedor Servicio
-
Dispositivos
- DF00: Disco Físico
- DV00: Disco Virtual
Objetivo¶
Construir un home-datacentre de bajo consumo.
Arquitectura¶
Raspberry Pi 5¶
- Raspi OS Lite
- LXC
- Red en bridge
- Servicios aislados
CPU¶
La Raspberry Pi 5 tiene 4 Cores, los repartiremos así:
| Núcleo | Asignación | Función |
|---|---|---|
| 0 | Sistema (Host) | Reservado para el Kernel del SO, gestión de red, discos... |
| 1 | Infraestructura | DNS, Proxy, Stats, VPN y Home |
| 2 y 3 | Apps / Servicios | Todos los servicios y aplicaciones. |
Cómo establecer esta configuración (config de cada LXC)
Contenedores de Infraestructura:
lxc.cgroup2.cpuset.cpus = 1
lxc.cgroup2.cpu.weight = 100
Contenedores de Servicios/Aplicaciones:
lxc.cgroup2.cpuset.cpus = 2-3
lxc.cgroup2.cpu.weight = 50
(Nota: Le damos los dos núcleos finales a las apps porque suelen ser más pesadas gráficamente o al compilar, pero les bajamos el weight para que el sistema siempre tenga prioridad).
Red¶
-
Host: 192.168.1.100
-
Contenedores:
-
Infraestructura:
- DNS → 192.168.1.101 (Pi-hole)
- Proxy → 192.168.1.102 (Nginx)
- Stats → 192.168.1.103 (Grafana)
- VPN → 192.168.1.104 (WireGuard)
- Home → 192.168.1.105 (Homepage)
-
Aplicaciones (para funcionar 24/7):
- Host → 192.168.1.51 (Nginx)
- Cloud → 192.168.1.52 (NextCloud)
- Git → 192.168.1.53 (Gitea)
- NAS → 192.168.1.54 (OpenMediaVault)
-
Aplicaciones (para probar):
- Domótica → 192.168.1.5X+ (Home Assistand)
- Minecraft → 192.168.1.5X+ (MinecraftServer)
- Fotos → 192.168.1.5X+ (Immich)
- Musica → 192.168.1.5X+ (Navidrome)
- Películas → 192.168.1.5X+ (Jellyfin)
- Movimiento → 192.168.1.5X+ (MotionEye)
- Juegos → 192.168.1.5X+ (RetroPie)
Serie en 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.