You are currently viewing Heimdall Web App Dashboard

Heimdall Web App Dashboard

Heimdall is a web application that allow us to create and customize our app dashboard, having links to the different web apps that we host on our home lab. There are several dashboard applications as this one, like Homer Dashboard, that I also use.

Requisites:

To continue with this post, you will need the following:

  • A machine, virtual machine or linux container with Ubuntu 20.04 installed.
  • Internet connection and admin privileges on the machine above.

Installation

First of all, let’s download Heimdall:

cd && wget "https://github.com/linuxserver/Heimdall/archive/2.2.2.tar.gz"

Now, uncompress it:

tar xvzf 2.2.2.tar.gz

And let’s fix a little bug at the code, so it will properly run:

nano ./Heimdall-2.2.2/vendor/symfony/console/Input/ArrayInput.php

Go to line 135, and comment/delete the following lines:

 } elseif ('-' === $key[0]) {
    $this->addShortOption(substr($key, 1), $value);

Install the needed PhP libs:

sudo apt install -y php php-sqlite3 php-zip

Configure as a Linux service

Let’s create the service file:

sudo nano /etc/systemd/system/heimdall.service

It’s content should be as follows. Have in mind to change the User, Group, WorkingDirectory and ExecStart properties to match your needs:

[Unit]
Description=Heimdall
After=network.target

[Service]
Restart=always
RestartSec=5
Type=simple
User=runesoft
Group=runesoft
WorkingDirectory=/home/runesoft/Heimdall-2.2.2
ExecStart=sudo php artisan serve --port 80 --host 0.0.0.0
TimeoutStopSec=30

[Install]
WantedBy=multi-user.target

Let’s enable Heimdall new service:

sudo systemctl enable --now heimdall.service

Problems with a default Apache installation

With Ubuntu 20. when you install PHP, it will also download, install and launch Apache web server. so port 80 will be used and oHeimdall couldn’t be launched on it. If you don’t need Apache, stop it’s service:

sudo systemctl stop apache2

And disable it from systemctl:

sudo systemctl disable apache2

Time to restart Heimdall’s service to propperly get port 80:

sudo service heimdall restart

Using Heimdall

Now, if you go to your Heimdall’s IP, you should see something like this:

heimdall-01

As you can see, Heimdall says that we don’t have any app configured yet. To do it, whe should update the app list. Click on the list icon on the bottom right menu, and a new window will show up:

heimdall-02

There, click on Update Apps List. When it finish, click on Add to create a new app, and this form will appear:

heimdall-03

Let’s create one for a PiHole service:

After adding some apps more, it should look something like this:

heimdall-05

Now you have your own web app dashboard for your home lab!

Leave a Reply