Cómo autoalojar Homarr en Proxmox LXC — Guía completa del panel de homelab 2026
Homelab

Cómo autoalojar Homarr en Proxmox LXC — Guía completa del panel de homelab 2026

Ricardo Gil
26 de octubre de 2026
11 min de lectura

Traducido del original en inglés. Read this article in English →

#proxmox #self-hosting #lxc #homarr #homelab-dashboard
🛒

Productos en este artículo

Enlaces de afiliado

Como Afiliado de Amazon, gano comisiones por compras que califican, sin costo extra para ti.

Si estás ejecutando más de cinco o seis servicios autoalojados en Proxmox, probablemente ya hayas sentido la fricción: diferentes puertos, diferentes IPs, diferentes URLs y una lista de marcadores en el navegador que hay que mantener manualmente. La solución no es un mejor gestor de marcadores, sino un dashboard de homelab como es debido. Homarr es una de las mejores opciones en el espacio del self-hosting ahora mismo: un dashboard limpio y moderno construido con Next.js que pone todos tus servicios detrás de una sola página bien organizada.

En esta guía te explico el proceso completo para desplegar Homarr en Proxmox usando un contenedor LXC. Crearemos un contenedor Ubuntu ligero, habilitaremos los ajustes de nesting necesarios para que Docker funcione, desplegaremos Homarr con Docker Compose, configuraremos tiles de servicios y widgets, y opcionalmente expondremos el dashboard por HTTPS usando Traefik. Todo el proceso lleva unos 20–30 minutos y, cuando termines, tu homelab será mucho más fácil de manejar.

¿Qué es Homarr y para qué sirve?

Homarr es un dashboard de homelab de código abierto que actúa como portal personal hacia todas tus aplicaciones autoalojadas. Añades tiles para cada servicio —Jellyfin, Vaultwarden, Paperless-ngx, Navidrome, lo que sea que estés ejecutando— y cada tile muestra el nombre de la app, el icono, la URL y el estado en tiempo real. El dashboard es completamente personalizable: puedes redimensionar y arrastrar tiles, agruparlos en secciones y elegir entre temas claro y oscuro. Es el tipo de herramienta que hace que un homelab parezca terminado en lugar de una colección de servicios dispersos.

Más allá de simples marcadores, Homarr tiene integraciones reales con servicios. Puede conectarse al socket de Docker y detectar automáticamente los contenedores en ejecución. También soporta integraciones para apps como Radarr, Sonarr, Jellyfin, Overseerr y qBittorrent, mostrando el estado de la cola, recuentos de medios y progreso de descargas directamente en widgets del dashboard. Además hay widgets de calendario, clima, lector RSS y reloj que puedes añadir junto a los tiles de tus apps.

Según la documentación oficial de Homarr, el proyecto se mantiene activamente y soporta Docker (el método de instalación recomendado), así como despliegues bare-metal con npm y paquetes mantenidos por la comunidad para Unraid y TrueNAS. Para un homelab con Proxmox donde gestionas los servicios como contenedores LXC, Docker dentro de un LXC dedicado es el enfoque más limpio: un LXC para el dashboard, aislado del resto, fácil de hacer snapshot y restaurar si algo sale mal en una actualización.

Ejecuto Proxmox VE en un Beelink GTi13 Ultra (i9-13900HK, 64GB RAM) y un Dell OptiPlex 7090, con la mayoría de las cargas de trabajo distribuidas en contenedores LXC en ambos nodos. Si eres nuevo en este enfoque, la Guía completa de Proxmox LXC para self-hosting cubre los fundamentos antes de seguir esta guía. Para quien esté buscando un nodo, el Beelink SER5 Mini PC (~$299) es un punto de entrada muy valorado: el Ryzen 5 5500U con 16GB RAM es más que suficiente para ejecutar una pila completa de 8–10 contenedores LXC, según la hoja de especificaciones publicada por Beelink.

Requisitos previos

Esta guía asume que tienes un nodo Proxmox VE funcionando (se recomienda la versión 8.x) y acceso a la interfaz web de Proxmox. Antes de comenzar, asegúrate de tener lo siguiente:

  • Una plantilla LXC de Ubuntu 22.04 o 24.04 ya descargada en Proxmox (o descárgala ahora desde Datacenter → tu pool de almacenamiento → CT Templates → Templates)
  • Al menos 1GB de RAM disponible para dedicar al contenedor de Homarr
  • Al menos 10GB de almacenamiento para el disco raíz del contenedor (20GB es más cómodo si vas a cachear iconos y almacenar la base de datos SQLite de Homarr a largo plazo)
  • Una IP estática o una reserva DHCP para el contenedor, para que su dirección no cambie entre reinicios
  • Opcional: Traefik ya configurado en tu red si quieres acceso HTTPS con un dominio propio

Si quieres un dominio propio y certificado TLS para Homarr, lee primero la guía de Traefik v3 en Proxmox LXC. Puedes añadir el acceso por proxy inverso después sin repetir ninguno de los pasos de Docker de abajo: es completamente opcional para el despliegue inicial.

En cuanto al hardware de red, ten en cuenta tu switch: cuando tienes varios servicios ejecutándose en múltiples contenedores LXC, una buena infraestructura de red importa. El switch de red de 8 puertos TP-Link 2.5G (~$49) es una mejora asequible sobre 1GbE que los entusiastas del homelab recomiendan ampliamente para mejorar las transferencias entre nodos y al NAS.

Paso 1: Crear el contenedor LXC en Proxmox

Abre la interfaz web de Proxmox y haz clic en Create CT en la esquina superior derecha. Recorre el asistente de creación con estos ajustes:

  • General: Asigna un CT ID y un hostname (por ejemplo, homarr). Establece una contraseña root que recuerdes.
  • Template: Elige tu plantilla estándar de Ubuntu 22.04 o 24.04.
  • Disks: Pon el disco raíz en al menos 10GB en tu pool de almacenamiento más rápido. La base de datos y la caché de iconos de Homarr crecen lentamente con el tiempo.
  • CPU: 1–2 núcleos es más que suficiente. Homarr no es intensivo en CPU durante el uso normal del dashboard.
  • Memory: 1024MB. El proceso de Node.js es ligero en reposo; 512MB funciona en un apuro, pero 1GB da más margen.
  • Network: Bridge a vmbr0, usa DHCP o asigna una IP estática directamente en el asistente.

Después de crear el contenedor pero antes de iniciarlo, hay un cambio de configuración requerido. En la interfaz de Proxmox, ve al contenedor → Options → Features y activa la función Nesting. Esto es lo que permite que Docker funcione dentro de un contenedor LXC sin privilegios. Según la documentación de Proxmox, habilitar nesting otorga al contenedor la capacidad de crear namespaces del kernel anidados, que el runtime de contenedores de Docker necesita para gestionar su propio ciclo de vida de contenedores. Sin esto, el demonio de Docker fallará al iniciar con un error de capacidades.

No necesitas hacer el contenedor privilegiado. Sin privilegios con nesting habilitado es la configuración correcta y más segura que recomienda la documentación de Proxmox para ejecutar Docker en LXC. Una vez que hayas activado el nesting, inicia el contenedor y abre una shell de consola desde la interfaz de Proxmox, o conéctate por SSH directamente a la IP del contenedor.

Paso 2: Instalar Docker dentro del LXC

Una vez dentro de la shell del contenedor, actualiza los paquetes del sistema e instala Docker usando el script oficial que Docker publica en get.docker.com:

bash
apt update && apt upgrade -y
apt install -y curl ca-certificates

# Script oficial de instalación de Docker (instala Engine + plugin Compose)
curl -fsSL https://get.docker.com | sh

# Habilitar Docker para que arranque al iniciar y arrancarlo ahora
systemctl enable --now docker

# Verificar que ambos funcionan
docker --version
docker compose version

El script get.docker.com instala Docker Engine junto con Docker Compose v2 como plugin de la CLI. Deberías ver una salida como Docker version 27.x.x y Docker Compose version v2.x.x de esos dos últimos comandos. Si el demonio de Docker no arranca, vuelve a verificar que Nesting esté habilitado en la sección Options → Features del contenedor LXC en Proxmox: esa es casi siempre la causa cuando Docker se niega a arrancar dentro de un LXC en Proxmox.

Paso 3: Desplegar Homarr con Docker Compose

Crea un directorio de trabajo para el archivo compose de Homarr y los volúmenes de datos persistentes:

bash
mkdir -p /opt/homarr
cd /opt/homarr

La versión actual de Homarr requiere una SECRET_ENCRYPTION_KEY para cifrar las credenciales que almacenas en las integraciones de servicios. Genera una robusta con OpenSSL:

bash
openssl rand -hex 32

Copia esa cadena hexadecimal de 64 caracteres: la pegarás en el archivo compose abajo. Ahora crea /opt/homarr/docker-compose.yml con el siguiente contenido. Reemplaza TU_CLAVE_AQUI con la clave que acabas de generar y ajusta TZ a tu zona horaria real:

yaml
services:
  homarr:
    image: ghcr.io/homarr-labs/homarr:latest
    container_name: homarr
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./appdata/configs:/app/data/configs
      - ./appdata/icons:/app/public/user-customizations/icons
      - ./appdata/data:/data
    environment:
      - TZ=America/New_York
      - SECRET_ENCRYPTION_KEY=TU_CLAVE_AQUI
    ports:
      - "7575:7575"

El montaje del socket de Docker (/var/run/docker.sock) es opcional pero permite a Homarr listar los contenedores que se ejecutan en este mismo host de Docker. En un setup típico de Proxmox donde cada servicio vive en su propio LXC, el socket solo ve los contenedores en este LXC en particular: aún así añadirás tus otros servicios como tiles manuales. Si montas el socket de Docker, ten en cuenta que cualquier proceso con acceso a él tiene un control amplio sobre el demonio de Docker: los documentos de Homarr reconocen este tradeoff y recomiendan usar un proxy de socket como docker-socket-proxy de Tecnativa para configuraciones multi-host.

Inicia Homarr y observa los logs de inicialización:

bash
docker compose up -d
docker compose logs -f

Homarr inicializa su base de datos SQLite en el primer arranque, lo que tarda entre 15 y 30 segundos. Una vez que veas que reporta que está escuchando en el puerto 7575, abre http://<ip-de-tu-lxc>:7575 en un navegador. Deberías ver la pantalla de configuración inicial de Homarr.

Paso 4: Crear tu cuenta de administrador y añadir tiles de servicios

El asistente de primer arranque te pide que crees un nombre de usuario y contraseña de administrador. Después de eso, llegas al dashboard en modo edición: un lienzo en blanco con diseño de cuadrícula listo para rellenar. Aquí tienes el flujo básico para añadir tu primer tile de app:

  1. Asegúrate de que el modo edición está activo (haz clic en el icono de lápiz en la barra superior)
  2. Haz clic en + Add element → App
  3. Ingresa el nombre de la app (por ejemplo, "Jellyfin"), su URL interna (por ejemplo, http://192.168.1.50:8096) y busca su icono
  4. Opcionalmente establece una Ping URL: Homarr la revisará periódicamente y mostrará un indicador de estado en tiempo real en el tile
  5. Haz clic en Save

Homarr incluye una biblioteca de iconos integrada que cubre cientos de aplicaciones autoalojadas. Solo escribe el nombre de la app en la búsqueda de iconos y sugerirá coincidencias. Jellyfin, Vaultwarden, Paperless-ngx, Nextcloud, Navidrome, Uptime Kuma, Home Assistant, Portainer, Traefik: todos están. Si un icono no está en la biblioteca, puedes subir un PNG o SVG personalizado y se almacenará en el directorio ./appdata/icons.

Para las comprobaciones de salud en tiempo real, la Ping URL es independiente de la URL de navegación. Configúrala con el endpoint de salud o la URL raíz de la app. Esto te da un estado estilo Uptime Kuma (en inglés) de un vistazo directamente en el dashboard, útil para detectar un servicio caído sin cambiar a una página de monitoreo separada. Para historial de uptime detallado, alertas y seguimiento de incidentes, una instancia dedicada de Uptime Kuma sigue siendo la opción correcta.

Paso 5: Widgets e integraciones de servicios

Los tiles de apps son solo el comienzo. Homarr soporta un conjunto de widgets del dashboard que puedes añadir junto a los accesos directos a tus servicios para convertir el dashboard en un centro de control de homelab genuinamente útil. Se añaden de la misma manera que los tiles: modo edición → Add element → selecciona el tipo de widget.

  • Clima: Usa la API de Open-Meteo sin necesidad de API key. Establece tu ciudad o coordenadas GPS y muestra las condiciones actuales y el pronóstico.
  • Calendario: Se conecta a proveedores CalDAV incluyendo Nextcloud Calendar, Radicale o Baikal. Muestra los próximos eventos directamente en el dashboard.
  • Lector RSS: Obtén titulares de cualquier feed RSS, útil junto a una instancia autoalojada de FreshRSS o Miniflux.
  • Fecha y hora: Un widget de reloj limpio con zona horaria y formatos de visualización configurables.
  • Integraciones de servidor multimedia (Jellyfin/Emby): Muestra recuentos de la biblioteca multimedia y qué se está reproduciendo actualmente.
  • Clientes de descarga (qBittorrent, Deluge, SABnzbd): Muestra descargas activas, velocidades y tamaño de la cola.
  • Gestores de solicitudes de medios (Overseerr/Jellyseerr): Muestra el número de solicitudes pendientes directamente en el dashboard.
  • Estado de indexadores (Prowlarr): Reporta el estado de los indexadores si ejecutas Prowlarr como parte de un stack *arr.

Cada widget se configura de forma independiente: introduces la URL y las credenciales del servicio al que se conecta, y Homarr almacena esas credenciales cifradas usando tu SECRET_ENCRYPTION_KEY. Todos los widgets se pueden arrastrar y redimensionar en la cuadrícula. Si varios miembros de tu hogar usan el homelab, cada usuario tiene su propio diseño de dashboard: los widgets y la disposición de los tiles son por usuario, no compartidos.

Paso 6: Exponer Homarr por HTTPS con Traefik

Ejecutar Homarr en http://IP:7575 está bien para acceso local, pero un hostname y un certificado TLS hacen que el dashboard parezca una herramienta interna de verdad. Si ya tienes Traefik ejecutándose en tu nodo Proxmox (consulta la guía completa de Traefik v3), añade un archivo de configuración dinámica en tu directorio de configuración de Traefik:

yaml
# /etc/traefik/dynamic/homarr.yml
http:
  routers:
    homarr:
      rule: "Host(`homarr.tudominio.com`)"
      entryPoints:
        - websecure
      service: homarr
      tls:
        certResolver: letsencrypt
  services:
    homarr:
      loadBalancer:
        servers:
          - url: "http://192.168.1.120:7575"

Reemplaza 192.168.1.120 con la IP real de tu LXC de Homarr y homarr.tudominio.com con tu hostname. Traefik recarga los archivos de configuración dinámica de forma automática sin necesidad de reiniciar, por lo que el router se activa inmediatamente y solicita un certificado de Let's Encrypt automáticamente.

Para acceso externo, combina Traefik con Headscale: un servidor de coordinación de Tailscale autoalojado. Esto mantiene Homarr accesible desde tu teléfono o laptop cuando estás fuera de casa, sin exponerlo a internet público. La combinación de Traefik para terminación HTTPS y Headscale para control de acceso a nivel de red es una postura de seguridad sólida para un dashboard de homelab.

Recomendaciones de hardware para tu nodo Proxmox

Homarr en sí es ligero: de 256 a 512MB de RAM en reposo y CPU negligible. La pregunta real sobre capacidad es qué más estás ejecutando en el mismo nodo Proxmox. Una pila típica de self-hosting con Jellyfin, Vaultwarden, Nextcloud, Traefik, Uptime Kuma y Homarr junto a otros servicios necesitará al menos 16GB de RAM en el nodo para estar cómodo, con margen para el crecimiento de los contenedores.

Para una primera máquina de homelab, el Beelink SER5 Mini PC (~$299) —Ryzen 5 5500U, 16GB RAM— es un punto de entrada muy valorado. Según las especificaciones publicadas por Beelink, el 5500U funciona con un TDP base de 15W, lo que lo hace razonable para ejecutar las 24 horas del día sin preocuparte por el consumo eléctrico. Si quieres más margen para cargas de trabajo con más RAM, como inferencia de IA local con Ollama junto al resto de tu pila, el MINISFORUM UM890 Pro (~$429) da un salto significativo con un Ryzen 9 8945HS y 32GB de RAM y un rendimiento de CPU notablemente mayor, según las especificaciones publicadas por MINISFORUM.

En el lado de la red, 1GbE es suficiente para la mayoría del tráfico de homelab, pero 2.5GbE entre nodos hace las transferencias al NAS y la migración en vivo de Proxmox notablemente más rápidas. El switch de red de 8 puertos TP-Link 2.5G (~$49) es la opción más recomendada en la comunidad de homelab para actualizar sin gastar cientos en un switch gestionado de nivel empresarial.

Mantener Homarr actualizado

Homarr publica actualizaciones con frecuencia. El proceso de actualización con Docker Compose es el flujo estándar de pull-and-recreate:

bash
cd /opt/homarr
docker compose pull          # descarga la última imagen desde ghcr.io
docker compose up -d         # recrea el contenedor con la nueva imagen
docker image prune -f        # limpia las capas de imágenes antiguas

Antes de cualquier actualización importante, revisa la página de versiones de Homarr en GitHub para ver las notas de migración. El salto de Homarr v0.x a v1.0 requirió una migración manual de la base de datos y un cambio en el registro de imágenes Docker, de ghcr.io/ajnart/homarr a ghcr.io/homarr-labs/homarr, que la guía oficial de migración documentó paso a paso. Las versiones principales futuras pueden incluir cambios similares.

Hacer un snapshot de Proxmox del LXC antes de cualquier actualización importante siempre vale los 30 segundos que cuesta. Según la documentación de Proxmox, los snapshots de contenedores LXC capturan el estado completo del sistema de archivos del contenedor sin necesidad de detenerlo. Si una actualización rompe algo, reviertes con un solo clic.

Resolución de problemas comunes

Docker no arranca dentro del LXC con un error de capacidades: Casi siempre significa que Nesting no está habilitado. Ve a la interfaz de Proxmox → tu contenedor de Homarr → Options → Features → activa Nesting → detén y reinicia el contenedor. La función tiene efecto en el próximo arranque.

El contenedor de Homarr se cierra inmediatamente al primer arranque: Ejecuta docker compose logs para ver el error. La causa más común en una instalación nueva es una SECRET_ENCRYPTION_KEY ausente o mal formateada. La clave debe ser exactamente una cadena hexadecimal de 64 caracteres: la salida de openssl rand -hex 32 tiene exactamente 64 caracteres hexadecimales. Verifica si hay espacios accidentales o saltos de línea al copiar y pegar. Una vez que la clave sea correcta en el archivo compose, ejecuta docker compose up -d de nuevo.

Los tiles no pueden alcanzar los servicios (el estado se muestra como offline): La URL del servicio debe ser accesible desde dentro del namespace de red del contenedor de Homarr, no solo desde tu laptop. Pruébalo desde la shell del LXC con curl -s http://<ip-del-servicio>:<puerto>. Si eso no devuelve nada pero tu laptop llega al servicio sin problema, el problema es casi siempre una regla de firewall o la segmentación de VLANs que bloquea el tráfico entre contenedores en tu red.

Los iconos se muestran como un placeholder genérico: Homarr obtiene algunos assets de iconos de su biblioteca integrada y de CDNs externas. Asegúrate de que el LXC de Homarr tiene acceso a internet saliente: compruébalo con curl -I https://homarr.dev desde el contenedor. Si internet está bloqueado a nivel de firewall, puedes subir archivos de iconos personalizados manualmente colocando archivos PNG o SVG en ./appdata/icons y luego seleccionándolos en el editor de tiles.

¿Quieres algo así para tu negocio?

Instalo infraestructura privada y autoalojada en Proxmox: IA, automatización y herramientas internas en hardware que es tuyo, documentado y entregado. Ver el stack de IA privada →

¿No sabes qué necesitas? Agenda una llamada gratis.

Ricardo Gil es desarrollador full stack (.NET/Angular) con más de 6 años de experiencia. Tiene un homelab personal en un mini PC Beelink con Proxmox VE, donde autoaloja desde Jellyfin hasta LLMs locales con Ollama. Más sobre Ricardo →
📬Newsletter semanal

Recibe lo mejor de homelab e IA

Sin spam. Un correo por semana. Te das de baja cuando quieras.

Comparte este artículo