Homarr: Panel de control moderno para servicios autohospedados
Dashboard con más de 80 integraciones, 20.000 iconos, autenticación integrada y configuración visual sin YAML
Vídeo tutorial en YouTube
Mira el vídeo completo sobre cómo instalar y usar Homarr: Panel de control moderno para servicios autohospedados en el canal GENBYTE:
¿Qué es Homarr: Panel de control moderno para servicios autohospedados?
Homarr es un dashboard moderno y fácil de usar diseñado para centralizar el acceso a servicios autohospedados. Desarrollado por Homarr Labs, el proyecto destaca por su enfoque en la experiencia de usuario: configuración mediante arrastrar y soltar, sin necesidad de editar archivos YAML, autenticación integrada lista para usar y una biblioteca de más de 20.000 iconos. La versión actual es 2.4.1, licenciada bajo Apache-2.0, y está construida con TypeScript, Next.js 16, React 19 y Bun como gestor de paquetes y runtime. El stack incluye Drizzle ORM con better-sqlite3 por defecto, Redis para caché y colas, Nginx como proxy inverso interno y tRPC para la comunicación tipo-segura entre cliente y servidor.
Características principales
Integraciones nativas
Más de 80 integraciones preconfiguradas para servicios populares del ecosistema self-hosted (Servarr, Docker, Proxmox, Kubernetes, Immich, Jellyfin, qBittorrent, Transmission, Deluge, Unifi, Proxmox, entre otros).
Biblioteca de iconos
Más de 20.000 iconos integrados (Tabler Icons, Lucide, etc.) para personalizar cada entrada del dashboard sin depender de fuentes externas.
Autenticación integrada
Sistema de autenticación basado en credenciales (next-auth v5 beta) con soporte para proveedores OAuth, gestión de sesiones segura y cifrado de secretos de integración mediante SECRET_ENCRYPTION_KEY.
Configuración visual drag-and-drop
Interfaz de administración completamente visual: creación de tableros, grupos, widgets y enlaces mediante arrastrar y soltar, sin editar archivos de configuración.
Base de datos embebida
Utiliza SQLite (better-sqlite3) por defecto con migraciones gestionadas por Drizzle ORM; soporta PostgreSQL como alternativa para despliegues de alta concurrencia.
Arquitectura multi-proceso
Imagen Docker que ejecuta Next.js (standalone), Nginx, Redis y CLI de migraciones en un solo contenedor, exponiendo únicamente el puerto 7575.
Internacionalización y temas
Soporte i18n con next-intl, modo oscuro/claro automático (next-themes) y componentes UI basados en Mantine v9.
Extensibilidad
Widgets personalizados, API tRPC documentada, MCP (Model Context Protocol) server integrado y sistema de plugins para integraciones propias.
Requisitos del sistema
- Docker Engine 24+ o Docker Compose v2+
- Arquitectura compatible: linux/amd64, linux/arm64 (imagen multi-plataforma)
- Mínimo 512 MB RAM disponibles para el contenedor (recomendado 1 GB+)
- Volumen persistente para /appdata (base de datos SQLite, certificados, configuración Redis)
- Puertos: 7575/tcp expuesto en el host
- Generación previa de claves: AUTH_SECRET y SECRET_ENCRYPTION_KEY (64 caracteres hex cada una, openssl rand -hex 32)
Instalación con Docker Compose
Preparar variables de entorno
Crea un archivo .env a partir de .env.example y genera los secretos obligatorios. No reutilices valores ni subas el .env a control de versiones.
# Genera AUTH_SECRET y SECRET_ENCRYPTION_KEY
openssl rand -hex 32 # ejecuta dos veces y copia cada valor en su variable
Desplegar con Docker Compose (recomendado)
El proyecto no incluye docker-compose.yml en el repositorio principal; la documentación oficial en homarr.dev provee plantillas para Docker Compose, Portainer, Kubernetes y TrueNAS. El ejemplo mínimo usando la imagen oficial ghcr.io/homarr-labs/homarr:latest es:
services:
homarr:
image: ghcr.io/homarr-labs/homarr:latest
container_name: homarr
restart: unless-stopped
ports:
– '7575:7575'
volumes:
– /ruta/host/appdata:/appdata
– /var/run/docker.sock:/var/run/docker.sock:ro # opcional, para integración Docker
env_file: .env
environment:
– DB_URL=/appdata/db/db.sqlite
– DB_DRIVER=better-sqlite3
– AUTH_PROVIDERS=credentials
– REDIS_IS_EXTERNAL=false
– NODE_ENV=production
Iniciar el servicio
Levanta el contenedor en segundo plano. La imagen ejecuta migraciones automáticas al arranque mediante entrypoint.sh.
Verificar logs de arranque
Confirma que la aplicación inicia correctamente, genera la base de datos y expone el puerto.
Acceder al proyecto
Interfaz web
Accede al dashboard en http://<IP_HOST>:7575. En el primer acceso se solicita crear la cuenta de administrador (usuario/contraseña) si no existe ninguna.
CLI integrada
El contenedor expone el comando `homarr` para tareas de migración, seed y gestión de usuarios. Ejemplo: `docker exec -it homarr homarr db:migrate`.
Casos de uso
- Portal único para acceder a todos los servicios autohospedados de una red local o VPS
- Panel de control para stacks *arr (Sonarr, Radarr, Lidarr, Prowlarr, Bazarr, Readarr) con widgets de estado y acciones rápidas
- Monitorización visual de contenedores Docker, máquinas virtuales Proxmox y clústeres Kubernetes
- Gestión centralizada de descargas (qBittorrent, Transmission, Deluge) y bibliotecas multimedia (Jellyfin, Plex, Immich)
- Dashboard familiar con autenticación sencilla y modo demo para pruebas sin compromiso
Configuración avanzada
Base de datos PostgreSQL externa
Para entornos de alta disponibilidad o múltiples réplicas, configura DB_DRIVER=node-postgres y DB_URL con la cadena de conexión. Requiere ejecutar migraciones manualmente o habilitar auto-migración en el entrypoint.
DB_URL=postgres://user:pass@host:5432/homarr
Redis externo
Desactiva el Redis embebido y apunta a una instancia externa para persistencia de sesiones y colas compartidas.
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=opcional
Certificados TLS locales
Monta un directorio con certificados de confianza y configura LOCAL_CERTIFICATE_PATH para que Homarr valide conexiones HTTPS a servicios internos con CA privada.
Socket Docker / Podman múltiple
Permite conectar a varios runtimes de contenedores simultáneamente mediante DOCKER_SOCKET_PATHS.
Modo demo
Activa DEMO_MODE=true para sembrar un usuario demo/demo, tablero de ejemplo e integración mock. Útil para evaluación sin configuración.
DEMO_READ_ONLY=true
Proxy inverso externo (Traefik, Nginx Proxy Manager, Caddy)
Homarr detecta cabeceras X-Forwarded-* automáticamente. Configura BASE_URL con la URL pública (https://homarr.ejemplo.com) para que OAuth, MCP y redirecciones funcionen correctamente detrás de proxy.
Gestión y mantenimiento
Actualizar imagen
Descarga la última etiqueta y recrea el contenedor manteniendo el volumen /appdata.
docker compose up -d
Ejecutar migraciones manualmente
Si se actualiza la versión y hay cambios de esquema, fuerza la migración desde la CLI interna.
Backup de la base de datos
Copia el archivo SQLite del volumen persistente. Para PostgreSQL usa pg_dump.
Rotación de secretos
Genera nuevos AUTH_SECRET y SECRET_ENCRYPTION_KEY, actualiza .env y reinicia. Los secretos de integración almacenados dejarán de ser legibles; vuelve a configurarlos en la UI.
openssl rand -hex 32 # nuevo SECRET_ENCRYPTION_KEY
# edita .env y reinicia
docker compose restart homarr
Limpieza de caché Redis
Vacía la base de datos Redis embebida si hay inconsistencias de sesión o colas atascadas.
Stack técnico
- TypeScript 7
- Next.js 16 (App Router, standalone output)
- React 19
- Bun 1.4.2 (package manager & runtime)
- Turbo (monorepo build system)
- Drizzle ORM
- better-sqlite3 (SQLite driver)
- node-postgres (PostgreSQL driver opcional)
- Redis 7 (ioredis client)
- Nginx (reverse proxy interno, plantilla con envsubst)
- next-auth v5 beta (autenticación)
- tRPC 11 (API tipo-segura)
- TanStack Query 5 (estado servidor)
- Mantine UI 9 (componentes)
- Tabler Icons / Lucide (iconografía)
- Zod 4 (validación)
- Mermaid (diagramas)
- Vitest / Playwright (testing)
- Docker multi-stage (Node 24 Alpine + Bun + Alpine runner)
Referencias oficiales
- Repositorio oficial GitHub: https://github.com/homarr-labs/homarr
- Sitio web y documentación: https://homarr.dev
- Licencia Apache-2.0: https://www.apache.org/licenses/LICENSE-2.0
- Docker Hub / GHCR imagen oficial: https://github.com/homarr-labs/homarr/pkgs/container/homarr
- Changelog: https://github.com/homarr-labs/homarr/blob/dev/CHANGELOG.md
- Guía de variables de entorno (.env.example): https://github.com/homarr-labs/homarr/blob/dev/.env.example
Apoya el canal GENBYTE
¿Te ha sido útil este contenido?
Suscríbete a YouTube
Newsletter GENBYTE
Ko-fi
Contacto: [email protected]
