Uno de los servicios más simples y útiles para un homelab es un dashboard. Hommarr, al igual que Homepage, es otro gran candidato para este rol.
Permite una gran configuración, todo desde la sencillez de la interfaz web, sin necesidad de manipular archivos de configuración.
Además, acepta múltiples usuarios, por lo que cada miembro podría tener su propia página, o podrías hacer alguna pública, para que sea accesible sin necesidad de loguear.
Requisitos
Para proceder con esta guía, necesitarás lo siguiente:
- Un entorno con Docker instalado y al menos 256MB de RAM disponibles.
- Un cliente web para poder realizar la configuración.
Instalar Homarr
Esta aplicación acepta multitud de formas de instalarse, tienes todas en su documentación oficial. Pero de todas ellas, la que seguiremos en este post, al igual que en otros muchos servicios, es mediante Docker.
La forma más sencilla usando Docker, es mediante un fichero docker-compose.yml, que ya reúne todo lo necesario para que el contenedor funcione como se espera. Este fichero lo proveen en su documentación si lo prefieres, pero te dejo aquí el cómo lo he configurado yo utilizando claves en .env para ocultarlas adecuadamente.
Además de esto, podemos lanzarlo como contenedor standalone, o incluso usando los stacks de Portainer.
Docker compose
Esta es la vía más cómoda y sencilla. Lo primero que haremos será crear una carpeta para nuestra aplicación:
mkdir ~/homarr
cd ~/homarr
Dentro de esta, crearemos nuestro fichero docker-compose.yml con el siguiente contenido:
services:
homarr:
container_name: homarr
image: ghcr.io/homarr-labs/homarr:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Integracion Docker (opt)
- ./appdata:/appdata
env_file:
- .env
ports:
- '7575:7575'
Ahora deberemos generar la clave secreta de encriptado y depositarla en nuestro fichero env, para ello, ejecutamos:
echo "SECRET_ENCRYPTION_KEY=$(openssl rand -hex 32)" > .env
Ahora, tan solo tendremos que lanzar nuestro compose:
sudo docker compose up -d
Docker Standalone
Similar al Docker Compose, pero sin un fichero que lo defina. Al igual que antes, deberemos generar nuestra ruta y la clave de encriptado:
export BASE_PATH="${HOME}/homarr2/data"
mkdir -p "$BASE_PATH"
export SECRET_KEY=$(openssl rand -hex 32)
Ahora que ya tenemos nuestra ruta base y la clave generada, podremos ejecutar nuestro contenedor, lanzando el siguiente comando:
docker run \
--name homarr2 \
--restart unless-stopped \
-p 7576:7575 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v "${BASE_PATH}:/appdata" \
-e "SECRET_ENCRYPTION_KEY=${SECRET_KEY}" \
-d ghcr.io/homarr-labs/homarr:latest
Portainer Stack
Este es, al fin y al cabo, igual al Docker compose pero haciendo uso de la interfaz de Portainer. Accedemos a nuestra instancia, nos vamos al menú de Stacks, y ahí le damos a uno nuevo. Deberemos rellenarlo con lo siguiente:
services:
homarr:
container_name: homarr
image: ghcr.io/homarr-labs/homarr:latest
restart: unless-stopped
volumes:
- /var/run/docker.sock:/var/run/docker.sock # Integracion Docker (opt)
- ./appdata:/appdata
environment:
- SECRET_ENCRYPTION_KEY=${SECRET_KEY}
ports:
- '7575:7575'
De forma que quede de la siguiente manera:

Adicionalmente, antes de darle a desplegar, deberemos proporcionar la variable de entorno pertinente con la clave de encriptado. Esta la podemos generar desde cualquier entorno Linux que dispongamos, por ejemplo, desde la terminal, y luego copiarla. El comando es:
openssl rand -hex 32Y con esto lo introducimos como variable nueva de entorno llamada SECRET_KEY, como se indica en la siguiente imagen:

Ahora sí que podremos desplegarlo sin problema desde Portaienr.
Configuración inicial
Con nuestro contenedor levantado sin problemas, tendremos que acceder a la dirección: ip.server.homarr:7575 para realizar la configuración inicial. Debería aparecernos el siguiente formulario, en el que podremos elegir el idioma, el tema, y cómo queremos realizar dicha configuración:

Al tratarse de una nueva instancia, le daremos a Empezar de cero. Entonces nos saldrá el formulario para dar de alta el primer usuario que además tendrá rol de administrador:

Tras darle a Crear usuario, podremos elegir entre diferentes opciones de privacidad y comportamiento de Homarr, aquí seleccionar las que os convengan, en mi caso las he dejado como sigue:

Dándole a Continuar, nos saldrá una lista de opciones. Le daremos a Crea tu primer tablero para comenzar a crear nuestro dashboard personalizado:

Creando tableros
Los tableros son los propios Dashboards en si, donde podremos crear nuestros links e integraciones que provee Homarr, y se puede gestionar todo ello desde su interfaz web. Si hemos seguido los pasos anteriores, nos habrá llevado a la siguiente página:

Aquí es donde se nos da la opción de crear nuestro nuevo tablero, haciendo clic en el botón de Nuevo Tablero en la esquina superior derecha. Esto nos desplegará un pequeño formulario para nombrarlo, elegir cuántas columnas tendrá, y si será público:

Las opciones anteriores se pueden modificar si fuera necesario aunque ya lo hayamos creado. Una vez rellenado, le damos a Crear, y nos aparecerá en la lista:

Le damos a Abrir tablero, y desde la interfaz que nos sale, es desde donde se nos permitirá crear los diferentes widgets y aplicaciones. Para ello, clicamos sobre el botón del lápiz en la parte superior derecha para activar el modo de edición, y entonces nos aparecerá un nuevo icono de un +, le clicamos y nos despliega una serie de opciones:

Si de todas ellas, seleccionamos Nuevo elemento, nos saldrá una inmensa lista con todas las opciones:

Integraciones
Hay algunas preconfiguradas ya para que extraigan información relevante, como el caso de los DNS como Pi-Hole o Adguard Home. Puedes ver todas las opciones en su documentación oficial de integraciones.
Estadísticas Docker
Pero hay una muy cómoda, que es la de Docker, que la podemos encontrar si buscamos docker en la barra de búsqueda:

Con tan solo agregarla, nos dará un widget con la información de los contenedores que estén activos en el anfitrion sobre el que está lanzado Homarr:

Además de sus nombres y estadísticas de uso, también nos da la posibilidad de pararlos o reiniciarlos si fuera necesario, algo muy cómodo para un Dashboard.
Immich
Otro muy bueno es el de Immich, que primero deberemos configurar nuestro token adecuadamente tal y como nos solicitan en su guía para Immich.
Y tendría el siguiente aspecto:

También cuenta con otra integración de Immich que permite visualizar un álbum de imágenes concreto del usuario que hayamos usado para generar dicha integración.
Conclusión
Ahora podemos contar con otra opción más para gestionar nuestro dashboard del homelab, teniendo incluso estadísticas de nuestros servicios y otras integraciones muy cómodas; todo ello fácilmente actualizable desde su interfaz web, sin necesidad de manipular ficheros yaml o similares.

En este ámbito, como en muchos otros, hay diversas opciones para un propósito similar, es normal que a veces dudemos entre un servicio u otro, pero no te equivocarás en ninguno mientras cubra lo que necesites.
Referencias
- Documentación oficial: Getting started | Homarr documentation
- Anterior post (Inglés): Homelab Dashboard with Homarr