Docker Day #4: Heimdall, yet another landing page for your home server

Today's Docker Day shows you how to setup yet another static homepage as a landing page for your home server. So, read on - again!

Docker Day #4: Heimdall, yet another landing page for your home server
Photo by ByteLanguage.net

Last week, I introduced Homer as one app to create a easy and lightweight static homepage solution. In today's Docker, I'll show you how can get one of Homer's competitors up and running on your Synology NAS. Specifically, I am talking about Heimdall.

What is Heimdall?

Heimdall is an open-source platform for monitoring and managing web applications and services. It provides a simple and intuitive web-based interface for creating and managing dashboards, alerts, and logs, and for querying and visualizing data from a wide range of sources.

Some of the key features of Heimdall include:

  • Easy to use: Heimdall has a simple and intuitive web-based interface that makes it easy to create and manage dashboards, alerts, and logs. It also provides a rich library of pre-built integrations and components that can be easily installed and used to connect to and integrate with other services and applications.
  • Flexible and extensible: Heimdall allows users to connect to and integrate with a wide range of data sources, including popular monitoring and analytics platforms, cloud services, and web APIs. It also provides a rich ecosystem of third-party integrations and components that can be easily installed and used to extend the functionality of the platform.
  • Customizable and scalable: Heimdall allows users to customize the appearance and behavior of the platform, including using custom themes and plugins, and creating custom integrations and components. It also provides features for scaling and managing dashboards, alerts, and logs, such as parallel execution and concurrency control.
  • Secure and private: Heimdall is designed with security and privacy in mind, and it includes features such as encrypted data storage and secure communication protocols.
  • Multi-platform support: Heimdall can be installed on a variety of platforms, including Linux, Windows, and MacOS, and it can be accessed from a wide range of devices and web browsers.

 Overall, Heimdall is a powerful and user-friendly platform for monitoring and managing web applications and services. Its flexible and extensible design, customizable appearance, and secure architecture make it a popular choice for those looking to quickly and easily create and manage complex monitoring and management flows.

How to install Heimdall

^   back to top   ^

 There's at least two ways of how you can install Heimdall as your server's landing page. The easy way, by using Portainer (see Docker Day #1 for how you install Portainer), or the advanced way using the terminal. As usual, I do not recommend using the terminal for beginners.

Using Portainer and docker compose

^   back to top   ^

  • Create a folder for Heimdall named "heimdall" within our Docker folder environment. This is where all Heimdall assets will be stored. This includes your config files which will determine your pages content as well as the image assets for any icons you like to add.
  • Now, navigate to your Portainer app and in your environment (e.g. "local"), click on "Stacks" and then "Add stack".
  • In the Stack window, give the Stack a name (e.g. "heimdall") and copy & paste the Docker compose file from below into the web editor window.
  • Make sure to change the path in the volumes section to the "heimdall" folder that you've created in the first step. Moreover, substitute the YOUR-PUID and YOUR-PGID in the environment with your own (see my other post on how you can find out your PUID and PGID) and your time zone TZ, if need be. You can also change the ports mapping in case they are already in use or if you prefer others. Finally, click on "Deploy stack".
  • Open a web browser and navigate to your new landing page under http://your-nas-ip:6010 or https://your-nas-ip:6011 (Note the ports defined in the docker compose file for this example).
version: '3.3'
services:
    linuxserver:
        image: ghcr.io/linuxserver/heimdall
        container_name: heimdall
        ports:
            - '6010:80'
            - '6011:443'
        environment:
            - PUID=YOUR-PUID
            - PGID=YOUR-PGID
            - TZ=Europe/Berlin
        volumes:
            - '/your/local/heimdall-folder:/config'
        restart: always
Heimdall's Docker compose YAML file

Using the terminal

^   back to top   ^

Step 1: Install Docker on your Synology NAS

 Before you can install Heimdall, you'll need to have Docker installed on your Synology NAS. If you don't already have Docker installed, you can follow these steps:

  1. Open the Package Center on your Synology NAS.
  2. In the search field, enter "Docker" and press Enter.
  3. Click on the "Docker" package in the search results and then click the "Install" button.
  4. Follow the prompts to complete the installation.
Step 2: Pull the Heimdall Docker image

 Now that Docker is installed, you can pull the Heimdall Docker image from the Docker Hub registry. To do this, follow these steps:

  1. Open the terminal on your Synology NAS. You can do this by going to Main Menu > Terminal.
  2. Type the following command and press Enter: docker pull b4bz/homer:latest
  3. Wait for the image to be downloaded. This may take a few minutes.
Step 3: Create a folder for the Heimdall assets

 Next, you'll need to create a folder on your Synology NAS to store the Heimdall assets.

  1. Open the File Station on your Synology NAS.
  2. Create a new folder in the location of your choice, and name it "heimdall".
Step 4: Run the Heimdall Docker container

 Now that you have the Heimdall Docker image and a folder for the data, you're ready to run the Heimdall Docker container. To do this, follow these steps:

  1. Open the terminal on your Synology NAS.
  2. Type the following command and press Enter:
docker run -d --name=heimdall \
	-p 6010:80 \
	-p 6011:443 \
	-e PUID=YOUR-PUID \
	-e PGID=YOUR-PGID \
	-e TZ=Europe/Berlin \
	-v /your/local/heimdall-folder:/config \
	--restart always \
	ghcr.io/linuxserver/heimdall
The Docker command to run in the terminal

Replace "/your/local/heimdall-folder" with the paths to the "heimdall" folder.

 This command will start the Heimdall Docker container in detached mode, which means it will run in the background. It will also map ports 6010 and 80 and 6011 and 443 on the host to the same ports on the container, and mount the "heimdall" to the container.

Step 5: Access the Heimdall landing page

 Now that the Heimdall Docker container is running, you can access the landing page. You simply need to open a web browser and navigate to http://your-nas-ip:6010 or https://your-nas-ip:6011.

That's it, you are done!

^   back to top   ^

 You now have a sexy new landing homepage for your personal server! With Heimdall, you do not necessarily need to edit a config page but can use customize your page directly in the Heimdall settings on the landing page.

I hope this helped! Let me know if you have any other questions.