How to expose dockge via traefik

I just updated to EE and installed dockge to manage all the docker apps.
Via dockge, I added authelia, lldap, traefik. Im able to access truenas scale EE via my own domain (after logging in via authelia, and then the truenas login) all is nice and working.

But now I want to be able to access dockge from outside my local network, of course it needs to be behind authelia as well.

To access lldap, I added these labels to the compose.yaml (and this works).

    labels:
      - traefik.enable=true
      - traefik.http.routers.lldap.rule=Host(`${LDAP_DOMAIN}`)
      - traefik.http.routers.lldap.entrypoints=web,websecure
      - traefik.http.routers.lldap.middlewares=authelia@docker
      - traefik.http.routers.lldap.tls=true
      - traefik.http.services.lldap.loadbalancer.server.port=17170

So i went in the GUI of TrueNAS apps, editing dockge, and added the labels. When I read the config file /mnt/.ix-apps/app_configs/dockge/versions/1.1.9/user_config.yaml I see the following configuration:

labels:
- containers:
  - dockge
  key: traefik.enable
  value: 'true'
- containers:
  - dockge
  key: traefik.http.routers.dockge.rule
  value: Host(`dockge.mydomain.com`)
- containers:
  - dockge
  key: traefik.http.routers.dockge.entrypoints
  value: web,websecure
- containers:
  - dockge
  key: traefik.http.routers.dockge.middlewares
  value: authelia@docker
- containers:
  - dockge
  key: traefik.http.routers.dockge.tls
  value: 'true'
- containers:
  - dockge
  key: traefik.http.services.dockge.loadbalancer.server.port
  value: '31014'

When I look in the traefik dashboard, I see the line for dockge.mydomain.com and all configurations are correct: The correct entrypoints are listed, the correct middleware. Going to dockge.mydomain.com from private mode browser, sends me directly to authelia login.

So here is the problem:
When im logged in (in authelia), and go to the domain, the page keeps loading resulting in Gateway Timeout. No website.
Going to http://192.168.1.5:31014/shows the dockge page without problems.

I think 2 things might cause the problem

  1. The port: I tried 80, 443, 5001, 31014 All give the same result Gateway Timeout
    Running inside the dockge container:
curl -I http://localhost:80
curl -I http://localhost:443
curl -I http://localhost:5001
curl -I http://localhost:31014

only give a TTP/1.1 200 OK for port 31014, so that must be the right port, right? 31014 is the default port in dockge GUI interface when setting it up.

  1. In the GUI, you need to select a containers, for where the label should be applied. There is just one option dockge
    However, within web ui dockge, it lists the dockge container as ix-dockge. If the config actually needs to be ix-dockge, which I can’t select, than that means there is a bug in Truenas Scale EE.

Any help is welcome!

At a moment of clearity, I realised that the dockge container is not connected to the same network as authelia, traefik, etc.

docker ps --format "table {{.Names}}\t{{.Networks}}"

So:

  • I setup a new dockge instance, via dockge. Using the same endpoints as the existing one, but different port.
  • I stopped the running ix-dockge-dockge-1 instance, and removed it from the Truenas APPs
  • Connected to the “new” dockge instance, which is now controlling itself… Also added the labels, and all is working perfect!
1 Like