- Compartí mi experiencia reutilizando una PC gamer armada en 2018 como servidor casero para crear un entorno de almacenamiento de datos, respaldos y ejecución de apps self-hosted
- Instalé TrueNAS Community Edition y configuré 2 discos HDD de 8TB en RAID 1 para redundancia de datos
- Con apps open source self-hosted como Immich, Backrest, Scrutiny, Mealie y Ollama, cubrí desde la gestión de fotos, respaldos y monitoreo de discos hasta recetas y ejecución de LLM
- El acceso externo se maneja con Tailscale VPN, y a futuro planeo mejorar la accesibilidad de los servicios con una configuración de dominio personalizado
Configuración de hardware
- Reutilicé tal cual una PC gamer armada en 2018
- CPU: AMD Ryzen 5 2600X (6 núcleos, 3.6GHz)
- Tarjeta madre: ASRock B450 Pro4 ATX AM4
- RAM: G.Skill Flare X 16GB DDR4-3200 (2x8GB)
- GPU: EVGA GeForce GTX 1070 Ti 8GB
- Gabinete: Fractal Design Meshify C
- PSU: SeaSonic PRIME Gold 650W
- Configuración de almacenamiento
- HDD: 2 x Western Digital Red Plus 8TB (comprados durante las vacaciones de invierno)
- SSD: Samsung 850 Evo 500GB (para apps self-hosted que requieren lectura/escritura rápida)
- NVMe: Western Digital Blue SN550 500GB (para instalar TrueNAS OS)
Sistema operativo TrueNAS
- Instalé TrueNAS Community Edition (versión 25.10.1, Goldeye) en la unidad NVMe
- Es un sistema operativo basado en Linux especializado en NAS, que permite acceder al almacenamiento de archivos desde cualquier dispositivo de la red
- Incluye función de snapshots para prevenir la pérdida de datos
- Aunque elimines un archivo por error, puedes restaurarlo desde un snapshot anterior que aún lo incluya
- Para que un archivo se elimine de verdad, no debe quedar ningún snapshot en el sistema que lo contenga
- Genera snapshots automáticos por hora, por día y por semana, y luego elimina automáticamente los snapshots antiguos para ahorrar espacio de almacenamiento
- Configuré los 2 HDD de 8TB en RAID 1 (mirroring) para que, aunque falle una unidad, los datos se mantengan intactos
Apps self-hosted
-
Scrutiny
- Un dashboard web para monitorear el estado de las unidades de almacenamiento
- Lee y visualiza métricas como temperatura, horas de uso y errores de lectura recopiladas por el firmware S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) integrado en HDD y SSD
- Muestra tendencias históricas en el dashboard, lo que permite la detección temprana de fallas de discos
-
Backrest
- Un frontend web para restic (herramienta de respaldo por línea de comandos)
- Lo configuré para guardar automáticamente respaldos diarios en un bucket de almacenamiento de objetos de Backblaze B2
-
Immich
- Una de las apps open source self-hosted más populares para gestionar fotos y videos
- Soporta respaldo automático de fotos y videos del móvil a través de apps para iOS/Android
- Es ideal si quieres depender menos de Google Photos o iCloud, y actualmente la uso para respaldar las fotos y videos de mi teléfono
-
Mealie
- Una herramienta de gestión de recetas que mejoró mucho mi experiencia de meal prep
- Si encuentras una receta en sitios como NYT Cooking, basta con pegar la URL para extraer automáticamente ingredientes e instrucciones y guardarlos en tu biblioteca
- Permite seguir y gestionar fácilmente recetas en línea que quieras probar más adelante
-
Ollama
- Un backend para ejecutar distintos modelos de IA
- Ejecuta LLM como
qwen3.5:4b, gemma3:4b y modelos de vector embedding como qwen3-embedding:4b
- Todos los modelos son lo bastante pequeños para caber en los 8GB de VRAM de la GPU
- La ventaja es poder descargar del laptop al homelab la tarea de ejecutar modelos
Acceso remoto
- Desde fuera de casa uso Tailscale (un servicio VPN plug-and-play) para acceder de forma remota a los datos y a las apps self-hosted
- Tailscale está construido sobre WireGuard y ofrece un túnel seguro hacia la red doméstica
- No hace falta exponer la PC del homelab al internet público
- Hay que instalar la app de Tailscale y autenticar la red en todos los dispositivos desde los que se quiera acceder de forma remota
Planes a futuro
- Actualmente, para entrar a las apps tengo que escribir manualmente la combinación de dirección IP + puerto de la máquina
- Como todos los servicios comparten la misma IP, existe el problema de que el administrador de contraseñas no puede distinguir las credenciales de inicio de sesión de cada servicio
- A futuro, planeo asignar nombres de dominio personalizados a todos los servicios para mejorar la accesibilidad y la eficiencia de administración
5 comentarios
Pasé por POGO, BeagleBone Black, mini PC de Lenovo y otros, y desde hace un par de años me establecí con el N100. Considerando el costo de la electricidad, es ideal para funciones que no requieren GPU.
Si esta persona ya armó su homelab hasta ese nivel, me daría miedo la factura de luz, ¿no?
Aunque sea una PC gamer, como no va a estar en carga máxima todo el tiempo, no creo que el costo de la electricidad sea una gran preocupación.
Con un 2600X, incluso en idle consume unos 30 W, y la GPU probablemente también use alrededor de 10 W, así que consume bastante más que un homelab configurado con un CPU de bajo consumo.
Solo contando CPU + GPU, parece que sería similar al consumo en reposo de un N100 con unos 3 o 4 discos agregados.
Comentarios de Hacker News
Todos mis servicios comparten la misma IP, así que el administrador de contraseñas se confunde sobre qué credenciales usar
En Bitwarden se puede cambiar el algoritmo de coincidencia y, si en vez del valor predeterminado lo pones en “starts with”, puedes evitar que haga match con entradas incorrectas
Eso sí, al cambiar esa configuración aparece una advertencia de “esto podría no ser lo que querías”, y resulta algo molesto
En un entorno homelab puedes crear DNS wildcard fácilmente con dnsmasq, y ni siquiera hace falta administrar el router directamente: con el archivo hosts basta
También se puede usar mdns por la misma razón, pero la configuración es un poco más compleja
Además le agregué Tailscale, así que tengo bloqueo de anuncios también desde fuera de casa y puedo acceder a mis servicios cuando estoy fuera
Al final añadí un proxy inverso con NGINX, aunque en realidad funciona bastante bien incluso sin eso
Cada servicio queda separado con el formato
<service>.<yourdomain>.<tld>, y además te da HTTPS gratisPermite acceso remoto sin Tailscale, y si le agregas Cloudflare Access también puedes autenticarte con Google o Github
Yo también uso una configuración parecida
Como también lo uso de workstation, el hardware es algo más potente
Manejo varios subdominios con nginx + wildcard de letsencrypt, y en vez de tailscale conecto la red familiar con wireguard
Con Jellyfin hago streaming de películas/TV, y con Mopidy + snapcast envío música a varios parlantes
Tengo el NAS con Ubuntu + mirroring en ZFS, y controlo la automatización con Home Assistant
Manejo las cámaras de seguridad con Frigate y tengo repositorios personales en Forgejo
También hago tracking de aviones con SDR y controlo todos los dispositivos IoT de la casa de forma local
Recomienda tener un equipo dedicado solo al servidor, porque es mucho mejor
Yo sigo usando TrueNAS basado en FreeBSD
Me da pena que la versión nueva haya cambiado a Linux, aunque para otras personas quizá sea una mejor opción
En mi caso separé el NAS, la virtualización y el enrutamiento en equipos distintos
El TrueNAS nuevo era más lento que antes, pero como facilita la gestión de apps estilo Docker, probablemente sea bueno para principiantes o negocios pequeños
Creo que, mientras más infraestructura montas, más baja el costo marginal de probar cosas nuevas, así que todos estos experimentos valen la pena
Para la mayoría, Linux + NFS o SMB es suficiente
Si reduces las capas innecesarias, se puede operar de forma mucho más estable
Porque si el fin de semana la familia se queda sin internet o sin películas, las quejas son grandes
Da lástima que una Mac Mini sea tan eficiente en consumo para usarla como servidor
Más adelante planea separar el NAS y el servidor de cómputo
El autor usó Restic + Backblaze B2, pero yo prefiero la combinación Restic + BorgBase
BorgBase tiene como ventaja una tarifa simple y buen servicio,
y Pikapods, de la misma empresa, también resulta interesante para usuarios de homelab
Sale más barato: 1TB por 5 dólares al mes
Casi todo el mundo habla de backups en la nube, pero yo estoy pensando en poner un servidor de backup en casa de un amigo
El hardware es barato, el software es abierto y la privacidad es lo complicado
Gracias a Wireguard o Tailscale, este tipo de backup offsite se ha vuelto más fácil
Me da curiosidad si alguien ha probado algo así
Pienso extender lo mismo a la casa de un amigo
Manejo las fotos con Immich en vez de iCloud, y gracias a Tailscale es fácil mantener la privacidad garantizada
Replica snapshots con ZFS + zrepl, y comparte un resumen del proceso de resolución de problemas escrito por una IA
Al principio hacía el backup en local y luego movía el disco físicamente, dejando solo la sincronización incremental
Con la función untrusted peer de Syncthing puedes prestarle espacio a un amigo y aun así mantener los datos cifrados
Un PC para homelab consume mucha menos energía que un desktop común
El desktop del ejemplo consume 600kWh al año, pero mi HP EliteDesk ronda los 100kWh
Si no necesitas GPU, incluso una laptop basta
Usar una vieja gaming PC para TrueNAS u OMV es una buena opción
Los HDD deberían conectarse por SATA y no por USB para tener más estabilidad
Bromea con que los HDD siguen caros por la demanda de los centros de datos de IA
Se puede optimizar el ahorro de energía con ajustes de BIOS y powertop
Montar otros servicios encima de un NAS OS se siente como una arquitectura al revés
Mejor poner las funciones de NAS sobre un sistema operativo de servidor general
La mayoría de los servicios los corro en bare metal, y a cosas como Home Assistant o Nextcloud las aíslo en contenedores
Estoy construyendo un clúster de Kubernetes basado en Talos Linux repartido entre varias casas
Lo conecto con Wireguard y pongo cajas ZFS en cada zona para replicar snapshots
Uso Traefik como gateway y separo líder/seguidor con CrunchyPGO
Corro TrueNAS como una VM sobre xcp-ng
Le conecté por passthrough un controlador SAS dedicado, y antes usaba esxi, pero migré todo a xcp-ng
Configuré bind9 para DNS y nginx como proxy inverso
También corro otras VM en un Dell OptiPlex Micro
La mayoría de los homelab no tienen mucha carga, así que lo importante es la cantidad de RAM y la eficiencia energética
Con una máquina de 4 núcleos y bajo consumo suele bastar
Como casi no hago cómputo de IA, no necesito rendimiento de nivel desktop