Si gestionas múltiples servicios self-hosted en tu servidor, probablemente te encuentras constantemente buscando entre favoritos o recordando diferentes URLs. Homer Docker Compose es la solución perfecta para centralizar todos tus servicios en un dashboard elegante y personalizable. En esta guía completa aprenderás a instalar Homer Docker Compose y configurarlo en minutos para organizar tu homelab profesionalmente.
Qué es Homer Docker Compose y Por Qué lo Necesitas
Homer es un dashboard estático y ligero diseñado específicamente para organizar servicios self-hosted. A diferencia de otras soluciones complejas, esta aplicación se configura mediante un simple archivo YAML y no requiere base de datos ni backend pesado. La versión con Docker Compose facilita enormemente el despliegue y mantenimiento.
El proyecto nació de la necesidad de tener un punto de acceso único para todos los servicios de un servidor. Hoy en día es una de las soluciones más populares en comunidades de homelab, con más de 9,000 estrellas en GitHub y una comunidad activa que lo respalda.
Cuando despliegas Homer Docker Compose, obtienes un dashboard que funciona como página de inicio para tu navegador, permitiéndote acceder instantáneamente a Nextcloud, Jellyfin, Portainer, Grafana y cualquier otro servicio que tengas en tu infraestructura.
Ventajas de Homer Docker Compose
Desplegar este dashboard con contenedores Docker ofrece múltiples beneficios que lo distinguen de otras alternativas:
- Instalación en segundos: Un solo comando para tener tu dashboard funcionando
- Configuración simple: Todo se define en un archivo YAML legible y autodocumentado
- Sin base de datos: Aplicación 100% estática con consumo mínimo de recursos (menos de 20 MB RAM)
- Búsqueda rápida: Encuentra servicios instantáneamente con búsqueda difusa
- Responsive design: Funciona perfectamente en móviles, tablets y escritorio
- Temas personalizables: Adapta los colores, fondos y estilos a tu gusto
- PWA instalable: Agrégalo a tu pantalla de inicio como aplicación nativa
- Actualizaciones sencillas: Un simple
docker compose pullactualiza todo - Portabilidad total: Migra tu configuración a cualquier servidor copiando un directorio
La arquitectura estática de Homer significa que no necesitas preocuparte por vulnerabilidades de bases de datos, actualizaciones de PHP o dependencias complejas. Es seguro, rápido y confiable.
Requisitos Previos para Homer Docker Compose
Antes de comenzar con la instalación de Homer Docker Compose, asegúrate de tener los siguientes elementos configurados:
- Docker Engine: Versión 20.10 o superior instalado en tu servidor
- Docker Compose: Versión 2.0 o superior (viene incluido con Docker Desktop)
- Puerto disponible: Puerto 8080 libre (o cualquier otro de tu elección)
- Editor de texto: nano, vim o cualquier editor para modificar archivos YAML
- Acceso SSH: Terminal con permisos adecuados en tu servidor
- Espacio en disco: Aproximadamente 50 MB para la imagen y configuración
Si planeas usar un proxy inverso como Nginx Proxy Manager o Traefik, podrás exponer el servicio con un dominio personalizado y HTTPS automático. Esto es especialmente útil si accedes a tu dashboard desde fuera de tu red local.
Instalación de Homer Docker Compose Paso a Paso
La instalación de Homer Docker Compose es sorprendentemente simple. Sigue estos pasos detalladamente para tener tu dashboard funcionando en minutos.
Paso 1: Crear la Estructura de Directorios
Primero crea un directorio dedicado para almacenar la configuración persistente del dashboard:
mkdir -p ~/homer/assets
cd ~/homer
El directorio assets almacenará el archivo de configuración YAML, iconos personalizados y cualquier recurso adicional que quieras incluir en tu dashboard.
Paso 2: Crear el Archivo docker-compose.yml
Crea el archivo de configuración principal que define cómo se ejecutará el contenedor:
version: "3"
services:
homer:
image: b4bz/homer:latest
container_name: homer
volumes:
- ./assets:/www/assets
ports:
- 8080:8080
user: "1000:1000"
environment:
- INIT_ASSETS=1
restart: unless-stopped
Este archivo define todos los parámetros necesarios para ejecutar Homer Docker Compose. Veamos cada sección:
image: b4bz/homer:latest– Usa la imagen oficial del proyectovolumes: ./assets:/www/assets– Monta tu configuración local dentro del contenedorports: 8080:8080– Expone el dashboard en el puerto 8080user: "1000:1000"– Ejecuta el contenedor con tu usuario (evita problemas de permisos)INIT_ASSETS=1– Genera automáticamente archivos de ejemplo en el primer arranquerestart: unless-stopped– Reinicia automáticamente el contenedor si falla o el servidor se reinicia
Paso 3: Iniciar el Contenedor
Levanta el servicio con un solo comando desde el directorio donde creaste el archivo:
docker compose up -d
Docker descargará la imagen (aproximadamente 40 MB) y creará el contenedor. Tras unos segundos, accede a http://tu-servidor:8080 para ver tu nuevo dashboard con la configuración de ejemplo incluida.
Paso 4: Verificar el Funcionamiento
Comprueba que el contenedor está ejecutándose correctamente:
docker ps | grep homer
Deberías ver una línea mostrando el contenedor en estado «Up». Si ves el dashboard de ejemplo en tu navegador, la instalación ha sido exitosa.
Configuración Completa del Archivo config.yml
El verdadero poder de Homer Docker Compose se desbloquea personalizando el archivo de configuración. Este archivo YAML define todos los aspectos visuales y funcionales de tu dashboard.
Accede al directorio de assets y edita el archivo de configuración:
cd ~/homer/assets
nano config.yml
Estructura Básica del Archivo YAML
La configuración se divide en secciones lógicas y claras. Aquí tienes un ejemplo completo y funcional:
---
title: "Mi Servidor Homelab"
subtitle: "Dashboard de Servicios Self-Hosted"
logo: "logo.png"
header: true
footer: 'Creado con Homer
'
columns: "auto"
connectivityCheck: true
theme: default
colors:
light:
highlight-primary: "#3367d6"
highlight-secondary: "#4285f4"
highlight-hover: "#5a95f5"
background: "#f5f5f5"
card-background: "#ffffff"
text: "#363636"
text-header: "#ffffff"
text-title: "#303030"
text-subtitle: "#424242"
dark:
highlight-primary: "#3367d6"
highlight-secondary: "#4285f4"
highlight-hover: "#5a95f5"
background: "#131313"
card-background: "#2b2b2b"
text: "#eaeaea"
text-header: "#ffffff"
text-title: "#fafafa"
text-subtitle: "#f5f5f5"
services:
- name: "Aplicaciones"
icon: "fas fa-cloud"
items:
- name: "Nextcloud"
logo: "https://cdn.icon-icons.com/icons2/2699/PNG/512/nextcloud_logo_icon_168290.png"
subtitle: "Almacenamiento en la nube"
tag: "storage"
keywords: "nube archivos cloud"
url: "http://nextcloud.local"
target: "_blank"
- name: "Portainer"
logo: "https://www.portainer.io/hubfs/portainer-logo-black.svg"
subtitle: "Gestión de contenedores Docker"
tag: "admin"
url: "http://portainer.local:9000"
target: "_blank"
- name: "Multimedia"
icon: "fas fa-photo-video"
items:
- name: "Jellyfin"
logo: "https://jellyfin.org/images/logo.svg"
subtitle: "Servidor multimedia"
tag: "media"
url: "http://jellyfin.local:8096"
target: "_blank"
- name: "Immich"
subtitle: "Gestor de fotos con IA"
tag: "photos"
url: "http://immich.local"
target: "_blank"
Opciones de Personalización Avanzadas
Al configurar el dashboard, puedes ajustar múltiples parámetros adicionales para adaptar el dashboard a tus necesidades específicas:
- columns: Define el número de columnas del grid (1, 2, 3, 4, 6, 12 o «auto» para automático)
- connectivityCheck: Verifica la disponibilidad de servicios mediante HEAD requests periódicas
- documentTitle: Personaliza el título que aparece en la pestaña del navegador
- tagstyle: Aplica estilos Bulma CSS a las etiquetas (is-info, is-success, is-warning, is-danger)
- footer: Muestra información personalizada en el pie de página con HTML
- message: Define mensajes dinámicos que se actualizan desde APIs externas
Añadir Servicios y Organizar tu Dashboard
La estructura de servicios en Homer Docker Compose permite agrupar aplicaciones lógicamente. Cada grupo puede contener múltiples items con propiedades específicas para personalizar su apariencia y comportamiento.
Ejemplo Práctico: Servicios de Monitorización
Aquí tienes un ejemplo real de cómo organizar herramientas de monitorización en tu dashboard:
- name: "Monitorización"
icon: "fas fa-heartbeat"
items:
- name: "Uptime Kuma"
subtitle: "Estado de servicios 24/7"
tag: "monitoring"
tagstyle: "is-success"
url: "http://uptime.local:3001"
type: "Ping"
- name: "Grafana"
subtitle: "Dashboards y métricas"
tag: "monitoring"
tagstyle: "is-info"
url: "http://grafana.local:3000"
- name: "Netdata"
subtitle: "Monitoreo en tiempo real"
tag: "monitoring"
url: "http://netdata.local:19999"
Los servicios se pueden etiquetar, buscar por keywords y configurar con iconos personalizados de Font Awesome o imágenes propias. Las etiquetas con estilos Bulma añaden colores que facilitan la identificación visual rápida.
Ejemplo: Servicios de Desarrollo
- name: "Desarrollo"
icon: "fas fa-code"
items:
- name: "Gitea"
subtitle: "Repositorio Git privado"
tag: "dev"
url: "http://git.local:3000"
- name: "n8n"
subtitle: "Automatización workflows"
tag: "automation"
url: "http://n8n.local:5678"
Configurar Temas y Estilos Personalizados
Una de las características más atractivas de Homer Docker Compose es la personalización visual completa. El apartado colors permite definir esquemas de color independientes para modo claro y oscuro, adaptándose automáticamente a las preferencias del sistema operativo del usuario.
Tema Oscuro Profesional Personalizado
Para crear un tema oscuro con estilo profesional que combine bien con servicios modernos:
colors:
dark:
highlight-primary: "#1e88e5"
highlight-secondary: "#42a5f5"
highlight-hover: "#64b5f6"
background: "#0a0e27"
card-background: "#1a1f3a"
text: "#ffffff"
text-header: "#ffffff"
text-title: "#fafafa"
text-subtitle: "#b0b0b0"
card-shadow: rgba(0, 0, 0, 0.5)
background-image: "assets/wallpaper.jpg"
También puedes establecer imágenes de fondo con la propiedad background-image dentro de la sección de colores. Las imágenes deben estar en el directorio assets para que Homer pueda cargarlas correctamente.
Integración con Proxy Inverso para HTTPS
Para acceder a Homer Docker Compose mediante un dominio personalizado con HTTPS, integra el dashboard con un proxy inverso. Esto añade una capa de seguridad y profesionalismo a tu instalación.
Configuración con Nginx Proxy Manager
Si usas Nginx Proxy Manager, crea un nuevo proxy host con estos parámetros:
- Domain: dashboard.tudominio.com
- Forward Hostname: homer
- Forward Port: 8080
- Habilita SSL y certificados automáticos Let’s Encrypt
Configuración con Caddy
Con Caddy, la configuración es incluso más simple y elegante:
dashboard.tudominio.com {
reverse_proxy homer:8080
}
Caddy gestiona automáticamente la obtención, renovación y configuración de certificados SSL sin intervención manual.
Configuración con Traefik
Si usas Traefik, añade estas etiquetas a tu configuración de Homer Docker Compose:
labels:
- "traefik.enable=true"
- "traefik.http.routers.homer.rule=Host(`dashboard.tudominio.com`)"
- "traefik.http.routers.homer.entrypoints=websecure"
- "traefik.http.routers.homer.tls.certresolver=letsencrypt"
- "traefik.http.services.homer.loadbalancer.server.port=8080"
Búsqueda Rápida y Atajos de Teclado
El buscador integrado del dashboard se activa pulsando la tecla / y utiliza búsqueda difusa (fuzzy search) para encontrar servicios por nombre, subtítulo o keywords definidas en el YAML.
Atajos de teclado útiles para navegar rápidamente:
/– Abrir buscador instantáneoEscape– Cerrar búsqueda y volver al dashboardEnter– Abrir servicio seleccionado en misma pestañaAlt+Enter– Abrir servicio en nueva pestaña del navegador
La búsqueda difusa significa que no necesitas escribir el nombre exacto. Por ejemplo, escribir «jelly» encontrará «Jellyfin» automáticamente.
Mensajes Dinámicos y Monitoreo de Conectividad
Puedes configurar el servicio para mostrar mensajes dinámicos obtenidos desde APIs externas. Esto es útil para mostrar el estado del sistema, alertas o información actualizada.
message:
url: "http://api.local/status"
mapping:
title: "status.title"
content: "status.message"
style: "status.type"
refreshInterval: 30000
La opción connectivityCheck: true permite detectar automáticamente cuando pierdes conexión VPN o un servicio deja de responder. Homer mostrará una alerta visual indicando problemas de conectividad.
Iconos y Logos Personalizados
Al configurar servicios en el dashboard, tienes tres opciones para los iconos:
- Font Awesome:
icon: "fas fa-server"– Miles de iconos prediseñados - URLs externas:
logo: "https://example.com/logo.png"– Logos alojados en CDN - Archivos locales:
logo: "assets/icons/milogo.png"– Logos personalizados propios
Los logos locales se almacenan en el directorio assets/icons/ que está montado como volumen en Docker. Esto significa que persisten entre reinicios y actualizaciones del contenedor.
Formatos recomendados para logos: PNG con fondo transparente, SVG para escalado perfecto, o WebP para mínimo tamaño de archivo.
PWA: Instalar Homer como Aplicación Nativa
Una característica destacada es que Homer Docker Compose funciona como Progressive Web App (PWA). Puedes instalarlo en cualquier dispositivo como si fuera una aplicación nativa.
Desde el navegador móvil o de escritorio, usa la opción «Añadir a pantalla de inicio» o «Instalar aplicación». Una vez instalado, el dashboard se abrirá en una ventana independiente sin barras de navegación, ofreciendo una experiencia similar a aplicaciones nativas.
Los iconos PWA personalizables se encuentran en assets/icons/ y deben mantener las dimensiones originales para compatibilidad con diferentes dispositivos y sistemas operativos.
Troubleshooting y Problemas Comunes
El Dashboard No Carga Correctamente
Si Homer Docker Compose no carga o muestra errores, verifica que el archivo YAML tenga sintaxis válida. Usa un validador online o la herramienta yamllint:
docker exec homer cat /www/assets/config.yml | yamllint -
Errores comunes incluyen indentación incorrecta, comillas mal cerradas o caracteres especiales sin escapar.
Cambios en config.yml No se Reflejan
El navegador cachea agresivamente los archivos estáticos. Fuerza la recarga limpiando la caché del navegador o accediendo con Ctrl+Shift+R (Windows/Linux) o Cmd+Shift+R (Mac).
También puedes reiniciar el contenedor para asegurar que carga la configuración actualizada:
docker restart homer
Errores de Permisos de Archivos
Si encuentras errores de permisos al intentar modificar archivos, asegúrate de que el usuario especificado en el archivo docker-compose.yml (por defecto 1000:1000) tenga acceso de lectura y escritura al directorio assets:
sudo chown -R 1000:1000 ~/homer/assets
chmod -R 755 ~/homer/assets
Servicios No Responden a Connectivity Check
Si los servicios no responden a las verificaciones de conectividad, asegúrate de que:
- Las URLs son accesibles desde el contenedor Homer
- Los servicios permiten peticiones HEAD (algunos bloquean este método HTTP)
- No hay problemas de DNS o firewall bloqueando las peticiones
Casos de Uso Reales de Homer Docker Compose
Dashboard para Homelab Completo
Organiza servicios de media (Plex, Jellyfin, Audiobookshelf), gestión (Portainer, Dockge, Coolify), monitorización (Grafana, Uptime Kuma, Netdata) y automatización (n8n, Home Assistant) en un único punto de acceso centralizado.
Con Homer Docker Compose puedes crear secciones específicas para cada categoría, facilitando la navegación incluso cuando gestionas docenas de servicios simultáneamente.
Portal para Equipo de Desarrollo
Centraliza acceso a GitLab, Jenkins, SonarQube, bases de datos de desarrollo, documentación interna del equipo y entornos de staging. Cada desarrollador puede tener el mismo dashboard configurado mediante un repositorio Git compartido.
Dashboard Familiar
Crea un portal sencillo con acceso a Nextcloud, Paperless-ngx, calendarios compartidos, servicios multimedia y aplicaciones de gestión del hogar para toda la familia. La interfaz intuitiva permite que usuarios no técnicos accedan fácilmente a los servicios.
Comparativa: Homer Docker Compose vs Alternativas
Existen otras soluciones de dashboard para homelabs, pero Homer Docker Compose destaca por razones específicas:
- vs Heimdall: Más ligero y no requiere PHP ni base de datos SQLite. Configuración mediante archivos en lugar de interfaz web.
- vs Organizr: Configuración más simple mediante YAML declarativo en lugar de formularios web. Menor consumo de recursos.
- vs Flame: Totalmente estático sin necesidad de autenticación compleja ni backend. Ideal para entornos donde prima la simplicidad.
- vs Dashy: Más ligero y rápido de cargar. Configuración YAML más simple y directa.
La elección depende de tus necesidades específicas. Si priorizas simplicidad, rendimiento óptimo y configuración declarativa versionable en Git, esta es la solución indicada.
Actualización y Mantenimiento
Mantener Homer Docker Compose actualizado es extremadamente simple. Para actualizar a la última versión del proyecto:
cd ~/homer
docker compose pull
docker compose up -d
Docker descargará la nueva imagen automáticamente y recreará el contenedor manteniendo tu configuración completamente intacta gracias al volumen persistente. El proceso toma menos de 30 segundos.
Para verificar la versión actual ejecutándose:
docker inspect homer | grep -i version
Backup y Migración de Configuración
Hacer backup de tu configuración de Homer Docker Compose es trivial ya que todo reside en el directorio assets:
tar -czf homer-backup-$(date +%Y%m%d).tar.gz ~/homer/assets
Para restaurar o migrar a otro servidor, simplemente copia el directorio assets y levanta el contenedor. La portabilidad total facilita cambios de infraestructura.
Recursos Adicionales y Documentación
Para profundizar más en las capacidades de Homer Docker Compose:
- Repositorio oficial en GitHub
- Documentación de configuración completa
- Imagen oficial en Docker Hub
- Documentación de Docker Compose
- Librería de iconos Font Awesome
Preguntas Frecuentes (FAQ)
¿Necesito conocimientos de programación para usar Homer Docker Compose?
No. Solo necesitas editar un archivo YAML siguiendo la estructura de ejemplos proporcionados. La sintaxis es intuitiva y no requiere código complejo. Si sabes editar archivos de texto, puedes configurar este dashboard.
¿Puedo usar Homer sin Docker?
Sí, puedes desplegarlo en cualquier servidor web estático como Nginx, Apache o Caddy. Simplemente descarga los archivos del proyecto, copia tu config.yml a la carpeta assets y sirve el contenido como sitio web estático.
¿Qué recursos consume Homer Docker Compose?
Mínimos. Al ser una aplicación 100% estática, consume aproximadamente 10-20 MB de RAM en ejecución. El contenedor Docker ocupa menos de 50 MB de espacio en disco. Es extremadamente eficiente.
¿Funciona en dispositivos móviles?
Completamente. El diseño responsive se adapta perfectamente a móviles y tablets de cualquier tamaño. Además, al ser PWA, puedes instalarlo en la pantalla de inicio de tu teléfono como aplicación nativa.
¿Puedo proteger Homer con autenticación?
Homer Docker Compose no incluye autenticación nativa por diseño, ya que está pensado como dashboard interno. Puedes añadir autenticación mediante proxy inverso con Authelia, Authentik o configurando basic auth en Nginx/Caddy.
¿Se puede compartir la configuración entre múltiples usuarios?
Sí. Puedes versionar el archivo config.yml en un repositorio Git y compartirlo con tu equipo. Cada usuario clona el repositorio, monta el directorio en su instalación de Homer Docker Compose y todos comparten la misma configuración centralizada.
Conclusión
Homer Docker Compose representa la solución perfecta para organizar y acceder a servicios self-hosted. Su combinación única de simplicidad extrema, rendimiento excepcional y flexibilidad de personalización lo convierte en la primera opción para cualquier homelab, servidor personal o infraestructura empresarial pequeña.
Con esta guía completa has aprendido desde la instalación básica en pocos minutos hasta personalizaciones avanzadas con temas, iconos personalizados, integración con proxies inversos y configuraciones de producción. Ahora tienes todas las herramientas necesarias para crear un dashboard profesional que centralice el acceso a todos tus servicios.
La arquitectura estática, el mínimo consumo de recursos y la configuración declarativa mediante YAML hacen que Homer Docker Compose sea fácil de mantener, actualizar y migrar. Ya sea que gestiones 5 servicios o 50, este dashboard escala perfectamente a tus necesidades.
¿Listo para dar el siguiente paso? Instala tu dashboard ahora siguiendo esta guía y descubre por qué miles de usuarios en comunidades de homelab confían en esta solución para gestionar sus servidores diariamente.
