explaingit

linuxserver/heimdall

9,164PHPAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

A self-hosted web dashboard that collects all your apps and bookmarks into one tiled start page, with enhanced tiles that display live data directly from the apps they link to.

Mindmap

mindmap
  root((heimdall))
    What it does
      App dashboard
      Browser start page
    Tile Types
      Foundation apps
      Enhanced with live data
    Setup Options
      Docker image
      Manual PHP install
    Features
      Custom search bar
      Light and dark themes
      Multi language support
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Things people build with this

USE CASE 1

Set up a personal browser start page that shows all your self-hosted apps as organized tiles in one place.

USE CASE 2

Display live stats from a media downloader or other application directly on its dashboard tile without opening the app.

USE CASE 3

Deploy Heimdall via Docker on a home server to give all household members a shared app launcher.

Tech stack

PHPDocker

Getting it running

Difficulty · easy Time to first run · 30min

Manual install requires PHP 7.2.5+ and a web server, Docker is the simpler and recommended path.

In plain English

Heimdall is a self-hosted web dashboard that gives you a single page for accessing all your web applications and links. Instead of scattering bookmarks across multiple browsers or relying on memory, you add tiles to Heimdall for each service or website you use regularly, and they all appear on one organized home page. Many people use it as their browser start page. The dashboard supports two tiers of application tiles. Foundation apps are recognized by name when you type them in: Heimdall automatically fills in the correct icon and a matching color. Enhanced apps go further, connecting to the application's own API so the tile can display live data. A media downloader tile, for example, can show the current queue size and download speed directly on the dashboard without opening the application. Installation can be done manually on a web server running PHP 7.2.5 or newer, or through an official Docker image that supports multiple processor architectures including x86-64 and ARM. The manual route involves cloning the repository, copying a configuration file, generating an encryption key, and pointing a web server at the public folder. Docker users have a more direct path and the image is provided by the LinuxServer.io project. The search bar on the dashboard can be pointed at Google, Bing, or DuckDuckGo. Users can customize which search providers appear and in what order, or add new ones. There is also a tile-search option that lets you find an app by name when the dashboard grows large. The interface has been translated into multiple languages including German, French, Spanish, Russian, Finnish, Swedish, and Turkish, with community contributions welcome. Background images and color themes are configurable. The project is open-source and accepts pull requests on GitHub.

Copy-paste prompts

Prompt 1
How do I deploy Heimdall using Docker on a Linux home server? Show me a docker-compose configuration.
Prompt 2
I want to add an enhanced Heimdall tile that shows live queue and speed data from my media downloader. How do I configure it?
Prompt 3
How do I change Heimdall's search bar to DuckDuckGo and add a custom search provider to the list?
Prompt 4
Set up Heimdall manually on a web server with PHP 8. Walk me through cloning, configuring, and pointing Nginx at the public folder.
Open on GitHub → Explain another repo

← linuxserver on gitmyhub — every repo by this author, as a profile.

Verify against the repo before relying on details.