Proyecto Personal Activo

Mi HomeLab
Personal

Infraestructura propia de servidor y servicios autoalojados, diseñada para aprender, experimentar y tener control total sobre mis datos y entorno tecnológico.

6+Servicios activos
24/7Uptime objetivo
100%Local & privado
0€Suscripciones cloud

HomeLab General

Introducción

Un HomeLab es un entorno de servidor personal donde se ejecutan servicios propios de forma completamente local, sin depender de terceros ni de la nube. En mi caso, lo monté como extensión natural de mi proyecto y mi formación en ASIX: si voy a administrar sistemas en producción, primero necesito un laboratorio real donde poder romper cosas, arreglarlas y aprender.

El proyecto empezó con el proyecto de IA en local en mi PC personal y ahora consegui un equipo viejo y limitado con el que experimento, aprendo y hago que mis necesidades tecnológicas sean más sencillas. Ahora gestiona desde el DNS de mi red doméstica hasta el almacenamiento de fotos, pasando por monitorización continua de todos los servicios.

Todos los datos permanecen en mi red local. Ningún servicio envía información a servidores externos. Solo accedo desde el exterior con VPN.

Hardware

El servidor es un viejo PC reutilizado, elegido por su bajo consumo pero suficiente potencia para tener un servicio estable y silencioso funcionando 24/7 en casa.

ComponenteEspecificaciónRol
CPUIntel i7-4790Cómputo principal + virtualización
RAM4 × 4 GB DDR3Contenedores Docker
Almacenamiento OS436 GB SSD KingstonSistema operativo + servicios
RedEthernet GigabitConectividad principal
Sistema OperativoUbuntu Server 24.04 LTSHost principal
Ubuntu 24.04 LTS Docker + Compose 24/7 Online
Objetivo

El objetivo principal del HomeLab es triple:

Aprendizaje práctico

Replicar entornos de producción reales para practicar administración de sistemas, redes y ciberseguridad antes de enfrentarlos en el mundo laboral.

Soberanía de datos

Eliminar la dependencia de servicios cloud (Google Photos, Dropbox...) manteniendo el control total de mis datos personales.

Experimentación

Tener un entorno seguro donde probar tecnologías nuevas, configuraciones de red avanzadas y proyectos sin miedo a romper nada crítico.

¿Qué me aporta?

Gestionar un HomeLab personal está dando habilidades que difícilmente se aprenden en el aula:

Redes reales

DNS, DHCP, reglas de firewall — cosas que se configuran de verdad, con consecuencias reales si algo falla.

Docker en producción

Despliegue, actualización y mantenimiento de contenedores, compose files, volúmenes y networking entre servicios.

Seguridad aplicada

Hardening de servicios, logs de auditoría y certificados SSL locales.

Troubleshooting

Diagnóstico de fallos reales, análisis de logs, depuración de problemas de red y recuperación ante fallos de hardware.

¿Cómo lo administro?

La administración se realiza principalmente desde la terminal vía SSH, complementada con interfaces web para los servicios más visuales:

# Acceso al servidor principal
ssh izan@homelab.local

# Ver estado de contenedores Docker
docker ps --format "table {{.Names}}\t{{.Status}}\t{{.Ports}}"

# Actualizar todos los servicios
docker compose pull && docker compose up -d
SSH Docker Compose Cron Jobs Bash Scripts Portainer Cockpit Web
Estructura de red

La red doméstica está segmentada para aislar el servidor del resto de dispositivos, con el servidor actuando como servidor DNS para toda la red local:

Internet Router / Gateway 🖥 Servidor Ubuntu Server 24.04 Switch PCs / Portátiles Móviles / IoT PiHole Immich Netdata

El servidor actúa como DNS primario de toda la red, filtrando publicidad y dominios maliciosos mediante PiHole antes de resolver cualquier consulta.

Seguridad

La seguridad es una prioridad en el HomeLab. Implementé medidas como firewall, monitoreo de red y actualizaciones regulares para proteger todos los servicios. Además, cada cierto tiempo y después de cambios importantes realizo una auditoría usando NMAP y Lynis.

Lynis — Auditoría de Seguridad

Lynis es una herramienta de auditoría de seguridad que utilizo para evaluar la configuración de mi sistema. Escanea el sistema y proporciona un informe detallado con puntuación y recomendaciones para mejorar la seguridad. Es una herramienta esencial para mantener el HomeLab seguro y protegido contra posibles amenazas.

Lynis audit output
Lynis NMAP UFW Firewall SSH Hardening Auditoría Periódica

Futuro & Updates

El HomeLab evoluciona constantemente. Tengo una pequeña lista con proyectos que en un futuro añadiré, sin cerrar puertas a más.

Separación de seguridad y capacidad de Immich
Migración completa de Google Photos a Immich autoalojado. Backup automático y RAID 1 para protección de datos.
Creación de NAS dedicado
Bahía separada de 3 o más discos aislados para crear un sistema RAID y almacenamiento grande.
Sistema de cámaras de seguridad
Instalación de cámaras de seguridad de manera segura y estable, accesible vía ethernet.
VPN WireGuard
Acceso remoto seguro a todos los servicios del HomeLab desde cualquier lugar mediante VPN WireGuard autoalojada.
Segundo nodo (Raspberry Pi 5)
Añadir un segundo servidor de bajo consumo como nodo secundario para alta disponibilidad de servicios críticos como PiHole.
Evolución de IA en local
Integración de hardware más especializado para IA (NVIDIA Orin o similar) para no usar el PC principal como hardware de inferencia.

Monitorización

La monitorización es una parte crítica de cualquier infraestructura. En el HomeLab uso tres capas complementarias: métricas en tiempo real, comprobación de disponibilidad de servicios y alertas de hardware.

Netdata

Netdata es el motor de monitorización en tiempo real del servidor. Con resolución de 1 segundo, captura métricas de CPU, RAM, disco, red, temperatura y procesos de todos los contenedores Docker.

Métricas de sistema

Uso de CPU por núcleo, RAM, I/O de disco, temperatura de componentes y carga del sistema en tiempo real.

Contenedores Docker

Uso de CPU y RAM por contenedor, estado de health checks y detección automática de contenedores con recursos anormales.

# Despliegue de Netdata con soporte Docker
docker run -d --name=netdata \
  --pid=host --network=host \
  -v netdataconfig:/etc/netdata \
  -v netdatalib:/var/lib/netdata \
  -v /etc/passwd:/host/etc/passwd:ro \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --cap-add SYS_PTRACE \
  --security-opt apparmor=unconfined \
  netdata/netdata
Activo — Puerto 19999
Uptime Kuma

Uptime Kuma comprueba cada 60 segundos que todos los servicios responden correctamente.

Servicios monitorizados

PiHole, Immich, Netdata, Ollama y Open WebUI. Estado en tiempo real con alertas automáticas.

Activo
Aviso de disco dañado (S.M.A.R.T.)

Los discos están monitorizados con smartmontools. Un script cron diario analiza el estado S.M.A.R.T. de cada disco y envía una alerta por email si detecta sectores defectuosos, errores de lectura o temperatura elevada.

Los discos HDD tienen una tasa de fallo elevada pasados los 3-5 años. La monitorización S.M.A.R.T. permite detectar fallos inminentes antes de perder datos.

smartmontools cron diario Alertas email

DNS PiHole

PiHole actúa como servidor DNS de toda la red doméstica, interceptando peticiones a dominios de publicidad, rastreo y malware antes de que lleguen a los dispositivos. Con listas de bloqueo actualizadas automáticamente cada semana, filtra entre el 20% y el 40% del tráfico DNS total.

Bloqueo de anuncios

Bloqueo de publicidad a nivel de red para todos los dispositivos conectados: PCs, móviles, Smart TVs y consolas, sin instalar nada en cada uno.

~25% peticiones bloqueadas

DNS local personalizado

Registros DNS locales para acceder a los servicios del HomeLab con nombres amigables: immich.local, netdata.local...

12 registros locales
# docker-compose.yml — PiHole
services:
  pihole:
    image: pihole/pihole:latest
    ports:
      - "53:53/tcp"
      - "53:53/udp"
      - "8053:80/tcp"
    environment:
      TZ: 'Europe/Madrid'
      WEBPASSWORD: '**********'
    volumes:
      - './etc-pihole:/etc/pihole'
      - './etc-dnsmasq.d:/etc/dnsmasq.d'
    restart: unless-stopped

Galería Immich

Immich es la alternativa self-hosted a Google Photos que uso para almacenar y gestionar todas mis fotos y vídeos. La aplicación móvil hace backup automático en tiempo real a mi servidor, y nunca más una foto mía pasa por servidores de terceros.

Immich incluye reconocimiento facial con IA, búsqueda por contenido, generación automática de álbumes y mapa de ubicaciones, todo ejecutándose localmente.

Backup automático

La app de Immich para Android hace backup automático de cada foto y vídeo nuevo en cuanto el móvil se conecta a la WiFi doméstica.

Sincronización activa

IA local integrada

Reconocimiento facial, clasificación de objetos y búsqueda semántica usando modelos de IA que se ejecutan en el propio servidor.

Machine Learning activo

Galería privada — no disponible públicamente