This install assumes that Docker has been installed previously, and extends the Docker stack created for the Traefik Reverse Proxy.
Heimdall is an applications dashboard for all our web applications, although you can add links to anything.
Used this guide from Techno Tim.
Install Heimdall
Create folder for Heimdall config data:
1
2
cd ~/docker
mkdir heimdall
Add the following service definition to dc-heimdall in docker root folder
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
version: "3.9"
# NETWORKS ####################################################
networks:
traefik_proxy:
external: true
# SERVICES ####################################################
services:
heimdall:
container_name: heimdall
image: lscr.io/linuxserver/heimdall
#
restart: unless-stopped
security_opt:
- no-new-privileges:true
#
networks:
- traefik_proxy
volumes:
- $DOCKERDIR/heimdall:/config
environment:
TZ: $TZ
PUID: $PUID
PGID: $PGID
labels:
- "traefik.enable=true"
# HTTPS
- "traefik.http.routers.heimdall-secure.entrypoints=web_https"
- "traefik.http.routers.heimdall-secure.rule=Host(`$DOMAINNAME_CLOUD_SERVER`,`www.$DOMAINNAME_CLOUD_SERVER`)"
- "traefik.http.routers.heimdall-secure.tls=true"
</span>
- "traefik.http.routers.heimdall-secure.middlewares=middlewares-basic-auth@file"
# Services
- "traefik.http.routers.heimdall-secure.service=heimdall"
- "traefik.http.services.heimdall.loadbalancer.server.port=80"
From the Docker root folder, run this command to build the container:
1
sudo docker compose -f dc-heimdall.yml up -d
Configure Heimdall
- Search Provider
- Default Google is google.com, but this can be changed
- In FileZilla, under ~/docker/heimdall/www/ edit searchproviders.yaml
- amend google.com -> google.co.uk
- save file
- In Heimdall, go to Settings page, Miscellaneous section
- Set Homepage Search = Yes
- Set Default Search Provider = Google
- Test search bar in Heimdall uses google.co.uk properly
- Background Image
- Images over 2MB will not be set as the upload_max_filesize in the php.ini file limits this
- In FileZilla, under ~/docker/heimdall/php/ edit php-local.ini
- add upload_max_filesize = 30M
- save file
- In Heimdall, go to Settings page, Appearance section
- Edit Background Image, and set as required (max 30MB)
- Image will be updated automatically
Add Apps to Heimdall
Enhanced Applications. Some of the applications supported by Heimdall are enhanced and Heimdall can show additional information on the dashboard from the application’s API. These need additional config data to operate, as noted below.
- Go to browser bbproj.org, and login with Traefik password [TODO]
- First time:
- The default page shows “No pinned applications”
- Click on Add an application here link to get the Add application window
- After first time:
- Use the icons at the bottom right of the screen, click on the Applications list icon which opens the list of applications in use
- It is usually a good idea to click Update Apps List button to ensure the latest list of supported apps is available
- Click the +Add button to add another app
- Generally start by typing in Application name, if recognised this will automatically pull up logo, colours, etc
- Enter the URL (including http(s)://)
- If it’s an enhanced app, toggle the Config (optional) switch, and enter appropriate credentials below, click TEST to check ok
- When happy, click Save icon
Traefik
- URL: https://traefik.bbproj.org
- In config, add the login username & password
Portainer
- URL: https://portainer.bbproj.org
- In config, add relevant username & password
SyncThing
- URL: https://syncthing.bbproj.org
- Config requires the API key which can be obtained from the SyncThing server’s Settings
- A couple of files failed to sync as they were owned by root and had limited access. Fix by going to ~/docker/appdata/heimdall/log/ folder and using following commands to change owner to administrator, and add group rw option:
1 2 3 4 5
sudo chown administrator:administrator php/error.log sudo chmod 660 php/error.log sudo chown administrator:administrator logrotate.status sudo chmod 660 logrotate.status
Proxmox
- URL: https://hyperion.bbproj.org
- Config requires Proxmox API Token and API Key from Proxmox server
- Click on Datacenter -> Permissions -> API Tokens, click Add button
- From User dropdown select root@pam
- Under Token ID enter heimdall
- Untick Privilege Separation
- Click Add and copy the API Key (Token Secret) to a safe place
- In Heimdall, enable Config and add
- API Token ID : root@pam!heimdall
- API Key : as above
- Config requires Proxmox API Token and API Key from Proxmox server
Tautulli
- URL: https://tautulli.bbproj.org
-
For API, get API Key from Settings Web Interface
-
Resources
- Heimdall GitHub page
- Heimdall on Docker at linuxserver.io