Build your own exclusive navigation page based on Heimdall using Docker
This article was last updated 287 days ago. The information within may have evolved or changed; if anything is outdated or broken, please feel free to leave a message in the comments section.
Article Abstract
To solve the problem of chaotic bookmark management, deploy Heimdall via Docker to build an exclusive navigation page and achieve centralized management of application links. The deployment process includes container folder mapping, container startup, and basic configuration, focusing on completing Chinese language settings, administrator password configuration, application icon addition and sorting, etc. If public network access is required, it can be combined with reverse proxy solutions or Cloudflare to achieve cross-regional access. Relevant technical details can be found in the series of articles on Docker reverse proxy, home data center website building, etc., which are suitable for various scenarios with or without public IPs.
Qwen3-14B · 2026-06-18

Preface

As more and more applications are deployed in my home data center, I have more and more bookmarks in my Chrome browser, and it is very unintuitive to choose every time (the key is that it lacks style). Therefore, I had to consider building a dedicated navigation page to organize the access links of these applications. After researching for a while, Heimdall seems to be quite good, clean and simple:

image.png

So I chose it.

Deployment

Create the folder on the host machine that needs to be mapped into the container

As usual, first create the folders required for the -v parameter mount:

mkdir -p /docker/heimdall/config

Deploy Heimdall

The command in docker run format is as follows:

docker run --name=heimdall -d --restart=always \
  -e PUID=1000 \ #可选功能,PUID和PGID的具体数值由id命令决定,比如我的www账号,用"id www"输出为"uid=1000(www) gid=1000(www) groups=1000(www)",注:这里不能使用root账号
  -e PGID=1000 \ #同上
  -e TZ=Asia/Shanghai \ #设置容器时区
  -p 9600:80 \ #映射宿主机端口到容器内部的80端口,请根据自己实际情况修改
  -v /docker/heimdall/config:/config \ #映射宿主机指定文件夹到容器内部的/config目录
  lscr.io/linuxserver/heimdall:latest

Note: Please delete the comments after the above # by yourself

Basic Settings

Log in to Heimdall

Use http://Host_IP:9600 to open Heimdall:

image.png

Set language to Chinese

Click the settings button in the red box at the bottom right of the image above:

image.png

Change English to Chinese and save:
image.png

Then the language can be changed to Chinese:
image.png

Set administrator password

Click the user button in the bottom right corner for user settings:

image.png

image.png

You can modify the username, password, email, and set whether to allow public access and allow entry from specific links:
image.png

Add application address

image.png

Fill in the content according to the red box in the image below, remember to select the pin switch in the upper red box so that the application icon will appear on the homepage, and finally click save:
image.png

The effect after adding is as follows:
image.png

Then add other application icons in sequence. If you want to rearrange the order of application icons, click the button in the red box in the image below:
image.png

Configure public network access

If you want to publish to the public network, you need to choose the most suitable publishing method based on your actual environment and the reverse proxy you use. You can refer to several of my previous articles:
1、Docker Series: Building Your Own Reverse Proxy Based on NPM Using Docker
2、Linux Panel Series: Configuring Reverse Proxy and Publishing Using Non-443 Ports
3、Home Data Center Series: Getting Cloudflare for Free via Domestic ICP-Filed Cloud Hosts to Achieve Fast Access to Domestic Sites from Abroad
4、Home Data Center Series: Getting Cloudflare for Free via Home Broadband Without Public IP to Achieve Fast Website Building (Universal)

Among them, the 1st and 2nd methods are suitable for environments with a public IP but without a legal 443 port (home broadband, non-filed cloud hosts), where non-standard ports need to be added after the URL (if using Cloudflare to build a website, no port needs to be added, but you need to customize the origin server port, which you can refer to:Home Data Center Series: Solving the Problem of Having a Public IP but No Legal 80 or 443 Ports for Website Building via Cloudflare's Origin Rules). The 3rd method is suitable for cloud hosts with ICP filing, and the 4th method is suitable for all environments (including environments without a public IP), which is also my recommended method (regardless of whether your environment has a public IP, because this method does not require running HTTPS traffic directly on the public network).

View Related Categories · 3 Matches
📌 Content Structure Prompt:
This content is part of the following knowledge map, where you can view the complete content path: Blog Knowledge Map。
📎 Related Articles
Share this article
The blog content is original, please indicate the source when reposting! The RSS address of the blog is:https://blog.tangwudi.com/feed, welcome to subscribe; if needed, you can join theTelegram Groupto discuss questions together.
No Comments

Send Comment Edit Comment


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗ
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
Kaomoji
Emoji
Little Dinosaur
Flower!
Previous
Next
       

👋 Welcome to “Wudi's Personal Blog”

Here, long-term exploration is mainly carried out around the following directions:

🧱 Personal Digital Infrastructure and Blog System Construction
☁️ Cloudflare and Network Architecture Practice
🧠 AI and Knowledge System Exploration
🛡️ Network Security and Access Optimization
🎵 Music and Sound Cognition
👁️ Cognitive Perspectives and Worldviews