Cómo instalar Heimdall en Docker - Dashboard y launcher de aplicaciones autohospedado

Heimdall | Dashboard | Application Launcher | Docker | Self-Hosted | Linuxserver.io | Laravel

Heimdall en Docker: Dashboard y launcher de aplicaciones autohospedado elegante con soporte aplicaciones mejoradas (live stats), búsqueda integrada, subpáginas, tema personalizable, multi-usuario, API REST, iOS/Android, offline mode, 9.2k stars, MIT open source, 86+ versiones 🚀📱

Heimdall es un dashboard y launcher de aplicaciones elegante autohospedado basado en Laravel. Dashboard centralizado para todas tus web apps y servicios. Soporte 250+ aplicaciones (Foundation + Enhanced). Live stats (NZBGet, Sabnzbd, etc). Búsqueda integrada (Google, Bing, DuckDuckGo). Subpáginas. Tema dark/light personalizable. Background image upload. Multi-usuario. Admin panel. API REST. Apps iOS/Android. Offline mode. 9.2k GitHub stars. MIT open source. Production-ready en Docker.

¿Qué es Heimdall en Docker?

Heimdall es un dashboard y launcher de aplicaciones elegante autohospedado basado en Laravel 10 que centraliza todas tus web apps y servicios en una página bonita, con soporte para 250+ aplicaciones (iconos automáticos, live stats, métadata), búsqueda integrada, subpáginas, personalización tema/background, multi-usuario, admin panel, API REST, apps móviles iOS/Android, offline mode, todo ejecutándose en Docker bajo tu control sin dependencias cloud. El startpage perfecto para tu homelab.

Propuesta clave: Application dashboard self-hosted. Laravel 10 backend. Elegante, responsive, fast. 250+ Foundation apps (icons, metadata automático). 100+ Enhanced apps (live stats: NZBGet downloads, Sabnzbd queue, Radarr/Sonarr coming soon, etc). Búsqueda integrada (Google/Bing/DuckDuckGo, + tiles search). Subpáginas (organiza apps en grupos). Dark/light theme toggle. Background image upload (caching, resize automático). Multi-user (admin + roles). Admin panel (manage apps, users, settings). API REST. SVG icons per app. Searchproviders customizable (YAML config). Notifications/alerts support. Apprise integration. Dashboard customizable (lock/unlock tiles, drag-drop reorder, resize, pin favoritos). History search. Offline support. Docker multi-arch (x86-64, armhf, arm64). SQLite database (no setup requerido). PHP 8.1+ requirements. MIT open source. 9.2k stars GitHub. 86+ versiones. Linuxserver.io official image. HTPC/media center perfect. Homelab hub.

Para homelabs: Dashboard bonito. Apps centralizadas. Startpage perfecto. Cero complejidad. Personalizable. Responsive.

Características principales

250+ aplicaciones soportadas

Foundation (iconos automáticos) + Enhanced (live stats). Fácil agregar enlaces.

Live stats

NZBGet, Sabnzbd, etc muestran stats en tiempo real. Más en pipeline.

Búsqueda integrada

Busca tiles por nombre. Google/Bing/DuckDuckGo search. Customizable.

Subpáginas

Organiza apps en grupos. Dashboard secundarios. Navegación limpia.

Personalización tema

Dark/light mode. Background image upload. Color picker. Responsive.

Multi-usuario

Usuarios + roles. Cada usuario con su dashboard personalizado.

Admin panel

Gestiona apps, usuarios, searchproviders, settings desde web.

Apps móviles

iOS/Android apps disponibles. Full sync con dashboard web.

Drag-drop editor

Reorder tiles, resize, lock/unlock, pin favoritos desde editor.

API REST

Endpoints para automation, webhooks, integraciones custom.

Offline mode

Dashboard funciona offline (links guardados, no stats live).

Reverse proxy ready

Funciona behind nginx/Apache proxy. HTTPS + HTTP supported.

Requisitos del sistema

  • Docker & Docker Compose v2+
  • 512 MB - 1 GB RAM mínimo (muy ligero, PHP app)
  • 1 GB - 5 GB espacio disco (SQLite + config)
  • Puerto TCP: 80 (HTTP) o 443 (HTTPS)
  • PHP 8.1+ (bundled en imagen Docker)
  • SQLite (bundled, no setup requerido)
  • Apache/Nginx (bundled en imagen Docker)
  • php-zip, php-fileinfo (habilitados en imagen Docker)
  • Opcional: HTTPS/SSL certificados (Let's Encrypt via SWAG recommended)
Importante - Upload máximo: Por defecto 2MB para background images. Si necesitas más, edita `/config/php/php-local.ini` y agrega: upload_max_filesize = 30M
Performance: App muy ligera. Laravel 10 optimizado. SQLite suficiente para miles de apps. Carga casi instantánea.

Instalación con Docker Compose

Paso 1: docker-compose.yml

version: '3.8' services: heimdall: image: lscr.io/linuxserver/heimdall:latest container_name: heimdall restart: unless-stopped environment: - PUID=1000 - PGID=1000 - TZ=Europe/Madrid volumes: - heimdall_config:/config ports: - "80:80" # Para HTTPS: agrega puerto 443 # - "443:443" volumes: heimdall_config:

Paso 2: Iniciar Heimdall

# Guardar compose como docker-compose.yml docker compose up -d # Espera ~5-10 segundos para que inicie docker compose logs -f heimdall # Debería ver "ready to accept requests"

Paso 3: Acceder dashboard

# Abre en navegador: http://localhost # O desde otra máquina: http://192.168.1.100

Primeros pasos

1. Dashboard inicial (sin login)

  1. Abre http://localhost
  2. Dashboard vacío aparece (no hay login por defecto)
  3. Click en edit icon (lápiz) en esquina superior derecha

2. Agregar aplicaciones

  1. Click botón Add → search app por nombre (ej: "Plex", "Sonarr", "Radarr")
  2. Autocomplete sugiere apps con iconos + colores predefinidos
  3. Ingresa URL (ej: http://plex:32400 para Docker)
  4. Opcional: agregar API key si app es Enhanced (live stats)
  5. Click Save → agregado a dashboard

3. Personalizar tema

  1. Click Settings (rueda de engranaje)
  2. Elige Dark/Light mode
  3. Upload background image (PNG, JPG, <2MB por defecto)
  4. Color picker para tiles si prefieres
  5. Save → dashboard actualiza

4. Organizar con subpáginas

  1. Click Edit
  2. Botón "Add subpage" (+ ícono)
  3. Dale nombre (ej: "Media", "Tools", "Monitoring")
  4. Arrastra apps entre páginas

5. Setup búsqueda

  1. Settings → Search Providers
  2. Elige Google, Bing o DuckDuckGo
  3. Top del dashboard muestra search bar

6. Multi-usuario (opcional)

  1. Settings → Admin Panel (primero requiere contraseña admin)
  2. Users → Create new user
  3. Email, password, username
  4. Cada usuario tiene su dashboard personalizado

7. Usar live stats (Enhanced apps)

  1. Agregar app Enhanced (NZBGet, Sabnzbd, etc)
  2. Proveer API key en config
  3. Stats aparecen en la tarjeta: % descarga, velocidad, etc

Casos de uso

  • HTPC media center: Central hub para Plex, Jellyfin, radarr, sonarr, etc. Startpage bonito.
  • Homelab dashboard: Centraliza 50+ servicios en una página. Acceso rápido. Organized by groups.
  • Reverse proxy de entrada: First page usuario ve Heimdall. Links a servicios internos. HTTPS ready.
  • Browser startpage: Usa como página inicio navegador. Personalizaciones. Historia búsqueda.
  • Monitoring portal: Live stats apps monitorea estado servicios. Dashboard per-user.

Gestión y mantenimiento

Ver estado

docker compose ps

Ver logs

docker compose logs -f heimdall

Detener Heimdall

docker compose down

Actualizar versión

docker compose pull docker compose up -d

Acceder shell (troubleshooting)

docker compose exec heimdall bash

Backup configuración

docker cp heimdall:/config ./heimdall-backup

Restore configuración

docker compose down docker compose up -d docker cp ./heimdall-backup/* heimdall:/config/ docker compose restart heimdall

Aumentar upload size

# Editar /config/php/php-local.ini nano /path/to/config/php/php-local.ini # Agregar al final: upload_max_filesize = 30M post_max_size = 30M # Restart contenedor: docker compose restart heimdall

Monitorear consumo

docker stats heimdall # Típicamente: # heimdall: 30-80MB RAM (muy ligero) # CPU: <1% en idle

Enhanced apps (live stats)

Algunas apps soportan live stats. Ejemplos:

NZBGet - Descarga binary newsgroups

  • URL: http://nzbget:6789
  • Username + password
  • Stats: queue size, download speed, ETA

Sabnzbd - Descarga binary newsgroups

  • URL: http://sabnzbd:8080
  • API key (Sabnzbd Settings → General → API key)
  • Stats: queue, speed, ETA

Otros Enhanced apps

Ver lista completa: apps.heimdall.site/enhanced

💡 API keys: Si app está en Docker, usa hostname + puerto interno (ej: http://sabnzbd:8080 no http://localhost:8080)

Setup reverse proxy Nginx

Para HTTPS + dominio personalizado usando SWAG (Linuxserver.io Secure Web Application Gateway):

# /config/nginx/proxy-confs/heimdall.subdomain.conf server { listen 443 ssl http2; listen [::]:443 ssl http2; server_name heimdall.*; include /config/nginx/ssl.conf; client_max_body_size 0; location / { include /config/nginx/proxy.conf; proxy_pass http://heimdall:80; proxy_set_header X-Forwarded-Proto https; } }

Luego accede: https://heimdall.yourdomain.com

Stack técnico

  • Backend: Laravel 10 (PHP 8.1+)
  • Frontend: Blade templates + vanilla JS + jQuery
  • Database: SQLite (bundled, no setup)
  • Icons: FontAwesome 5
  • JavaScript: jQuery + custom
  • Colour picker: Huebee
  • Background: Trianglify library + Pexels
  • Web Server: Nginx + PHP-FPM (Docker)
  • Multi-arch: x86-64, armhf, arm64
  • Licencia: MIT open source

Comparativa con alternativas

vs Homer

Heimdall gana: UI más pulida, live stats, multi-user, admin panel, mobile apps. Homer gana: Config YAML más simple, sin database.

vs Organizr

Heimdall gana: UI moderna, maintained activamente, 250+ apps. Organizr gana: Features avanzadas (auth, permissions detallados).

vs Dashboard simple HTML

Heimdall gana: UI profesional, easy to manage, mobile friendly, live stats. HTML gana: Cero dependencias, deployment instant.

Mejor para: HTPC professionaes. Homelabs con múltiples servicios. Startpage bonito. Multi-usuario. Browser homepage.

Comentarios

Entradas populares de este blog

Cómo Instalar y configurar SERVIDOR VPN WIREGUARD en MIKROTIK 🔐 #VPN #Wireguard #Mikrotik #RouterOS

Cómo instalar y configurar DSM SYNOLOGY 7.2.2 en PC | Guía completa, instalación, RAID 1, SMB

Cómo INSTALAR y CONFIGURAR OpenVPN en MIKROTIK. Guía completa paso a paso.