Homer Docker Compose: Organiza tus Servicios en un Dashboard 2025

Homer Docker Compose dashboard organización servicios self-hosted

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 pull actualiza 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 proyecto
  • volumes: ./assets:/www/assets – Monta tu configuración local dentro del contenedor
  • ports: 8080:8080 – Expone el dashboard en el puerto 8080
  • user: "1000:1000" – Ejecuta el contenedor con tu usuario (evita problemas de permisos)
  • INIT_ASSETS=1 – Genera automáticamente archivos de ejemplo en el primer arranque
  • restart: 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áneo
  • Escape – Cerrar búsqueda y volver al dashboard
  • Enter – Abrir servicio seleccionado en misma pestaña
  • Alt+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:

  1. Font Awesome: icon: "fas fa-server" – Miles de iconos prediseñados
  2. URLs externas: logo: "https://example.com/logo.png" – Logos alojados en CDN
  3. 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:

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.

Avatar

Por Mid

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x