Abstract illustration of a simple self-hosted application dashboard grid of icon tiles in teal and amber tones

Heimdall

Heimdall

Heimdall Application Dashboard is a free, self-hosted homepage for organizing links to every website and web app you use, presented as a grid of icons instead of a folder of browser bookmarks nobody opens. It’s deliberately simple: no iframes, no abstraction layer over other apps’ APIs, and a built-in search bar that queries Google, Bing, or DuckDuckGo straight from the same page. This isn’t the Norse god, the Marvel character, or, confusingly, the unrelated Samsung firmware-flashing tool that shares its name: this Heimdall dashboard is a PHP/Laravel web app maintained by the linuxserver.io team, built to be the first tab a homelab owner opens.

License: Heimdall is licensed under the MIT License, confirmed directly from the LICENSE file in the linuxserver/Heimdall GitHub repo, copyright 2018 Chris Hunt. Chris Hunt created the original project; day-to-day maintenance has been carried by the linuxserver.io team, primarily developer KodeStar, for years since. It’s a short, permissive, OSI-approved license: commercial use, modification, and redistribution are all allowed, with no separate paid tier or dual license to worry about.

Quick facts: Official site heimdall.site · GitHub linuxserver/Heimdall with 9,200+ stars · latest release v2.8.1 from July 2026 · Docker image lscr.io/linuxserver/heimdall, mirrored on Docker Hub, GHCR, GitLab, and Quay.io · default ports 80 and 443 · image size under 50MB.

What Heimdall actually does

Every item added to Heimdall falls into one of three types. Generic items are just a name, a background colour, an optional icon, and a URL, useful for linking to literally anything. Foundation apps get recognized by name as you type, 506 of them at last count, and auto-fill an icon and brand colour for things like Plex, Sonarr, or pfSense. Enhanced apps, 145 currently, go one step further: hand Heimdall an API key for a supported app like NZBGet or Sabnzbd and its tile shows live data, queue size, download speed, without opening the app itself.

That’s close to the entire feature set, and the restraint is the point. Heimdall’s own site frames itself explicitly against dashboards that try to serve everyone and end up too complicated for anyone. It also works as a browser start page: the built-in search bar has queried Google, Bing, or DuckDuckGo since version 2.3.0, with providers configurable through a YAML file, so most tabs never need a separate new-tab page at all.

Installing Heimdall with Docker

The linuxserver.io team publishes an official multi-arch image for amd64 and arm64 (armhf support was dropped in 2023) and recommends pulling from their own registry, lscr.io, over Docker Hub, though both serve the same image. Docker Compose is the documented path:

services:
  heimdall:
    image: lscr.io/linuxserver/heimdall:latest
    container_name: heimdall
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - ALLOW_INTERNAL_REQUESTS=false #optional
    volumes:
      - /path/to/heimdall/config:/config
    ports:
      - 80:80
      - 443:443
    restart: unless-stopped
  1. Save the file, then run docker compose up -d in the same directory.
  2. Open the server’s address in a browser and start adding items. There’s no first-run account to create, since Heimdall doesn’t ship user accounts by default.
  3. Leave ALLOW_INTERNAL_REQUESTS at its default of false unless something breaks; it stops Heimdall from making lookup requests to private IP ranges, an SSRF guard.
  4. For password protection, generate an htpasswd file inside the running container rather than expecting a login screen out of the box.
docker exec -it heimdall htpasswd -c /config/nginx/.htpasswd admin

Password protection note: Unlike Homarr’s built-in accounts with OIDC and LDAP support, Heimdall’s password protection is HTTP basic auth at the nginx layer: one shared username and password for the whole dashboard, not per-user logins. Treat it as a speed bump, not real authentication, and keep the dashboard off the open internet regardless, behind a reverse proxy with its own auth or a mesh VPN like Tailscale.

Homelab use cases

Heimdall’s obvious job is replacing a browser bookmarks folder or a wiki page nobody keeps current: every self-hosted service gets one tile, one click away, from any device on the network. The Enhanced Apps integration adds a thin layer of live status for a short list of supported tools, but it’s nowhere near a full monitoring setup, and it was never trying to be. Pairing Heimdall with Uptime Kuma for actual uptime checks and Portainer for managing the containers behind those tiles fills in what a bookmarks page was never going to do on its own.

Heimdall vs other self-hosted dashboards

Heimdall was one of the earlier entries in the self-hosted dashboard space, first released in 2018, and its age shows in the feature set: newer competitors lean harder into live widgets and built-in accounts, categories Heimdall mostly leaves alone. Homarr adds drag-and-drop layout and real user accounts; Homepage leans on YAML config and a much longer integration list; Dashy sits in between, configurable through YAML or its own UI. That trade-off is also Heimdall’s appeal: fewer moving parts, a smaller attack surface, and an interface that hasn’t needed to change much in years.

HeimdallHomarrHomepageDashyFlame
ConfigurationSimple UIDrag-and-drop UIYAML filesYAML or UIMinimal UI
Built-in authBasic (htpasswd)Credentials, OIDC, LDAPNoneOptionalBasic PIN
Live widgetsMinimal (Enhanced Apps)40+ integrationsVery large listWide, community-drivenMinimal
Best forSimplicityPower and easeYAML power usersCustomizationFast bookmarks

We’ve already covered Homarr in more depth if the drag-and-drop, built-in-auth end of this comparison suits your setup better; Dashy, which sits in between the two, now has its own fiche here as well.

Heimdall: pros and cons

  • Free and open source under the MIT License: no account, no paid tier, no telemetry to opt out of
  • Small footprint: an image under 50MB with no external database to provision or maintain
  • Mature and stable, in production since 2018, with a large built-in icon library: 506 Foundation apps and 145 Enhanced apps
  • Actively maintained by the linuxserver.io team: v2.8.1 shipped July 9, 2026, with the base image rebased days later
  • Password protection is shared htpasswd basic auth, not per-user accounts, nothing close to Homarr’s OIDC/LDAP support
  • Live widget-style data through Enhanced Apps only covers a short list of supported tools, and even then it’s a couple of data points rather than a real dashboard panel
  • The interface genuinely hasn’t changed much since 2018; anyone wanting drag-and-drop layout or heavy theming will find it dated
  • No multi-user support at all: one shared dashboard and one shared password for every device that connects

FAQ

Is Heimdall free?

Yes, entirely, under the MIT License, with no paid tier, account requirement, or telemetry.

Is Heimdall still maintained?

Yes. Despite the 2018 copyright date on the license, linuxserver.io’s KodeStar and other contributors ship releases regularly. Version 2.8.1 landed on July 9, 2026, and the underlying Docker image was rebased to a newer Alpine base within days of that. It’s an old, stable codebase, not an abandoned one.

Does Heimdall have user accounts?

No, not in the way Homarr or most modern web apps do. The only access control is optional HTTP basic auth, a single shared username and password configured through htpasswd inside the container, applied at the nginx layer rather than inside the application itself.

Heimdall vs Homarr: which one should I pick?

Heimdall suits a dashboard that gets set up once and mostly ignored: point-and-click bookmarks with minimal live data, running on a tiny footprint. Homarr suits anyone who wants drag-and-drop layout, real per-user logins, and a deeper integration list, at the cost of more setup, including a mandatory encryption key before first boot, and a heavier container.

Can I run Heimdall without exposing it to the internet?

Yes, and that’s the recommended setup for any dashboard linking to every other service on a homelab: keep it on the local network, or reachable only through a mesh VPN like Tailscale, rather than forwarding ports 80 and 443 to the open internet. The ALLOW_INTERNAL_REQUESTS=false default already stops Heimdall itself from reaching internal IPs on lookups, but that’s an SSRF guard, not a substitute for keeping the dashboard off the public internet.

Heimdall’s pitch hasn’t really changed since 2018: a fast, simple homepage for a homelab’s other tabs, without the setup overhead of a heavier alternative. Whether that reads as refreshingly focused or a little behind the times probably depends on how much you enjoy configuring things. Our homelab setup guide for beginners covers the Docker basics it runs on, and Portainer plus Uptime Kuma handle the container management and uptime alerts that round out the rest of a small, no-frills homelab stack.