Home Install Heimdall on Docker
Post
Cancel
Preview Image

Install Heimdall on Docker

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

Tautulli

  • URL: https://tautulli.bbproj.org
    • For API, get API Key from Settings Web Interface

Resources

This post is licensed under CC BY 4.0 by the author.
Recently Updated
Trending Tags
Contents
Trending Tags