Currently I’m trying to make Universal available via the URL http://server/erp but I get a 404 not found. This is my docker-compose.yaml:
---
services:
  proxy:
    image: traefik
    ports:
      - 80:80
    command:
      - "--providers.docker=true"
      - "--providers.docker.exposedbydefault=false"
      - "--entrypoints.web1.address=:80"
      - "--entrypoints.web2.address=:8080"
    volumes:
      - "/var/run/docker.sock:/var/run/docker.sock"
  universal_prod:
    image: registry.thinkwisesoftware.com/public/universal:${TAGPROD}
    environment:
      - SERVICE_URL=http://${EXTERNAL_HOST}/indicium/iam/iam
      - DEFAULT_APPLICATION=ERP
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.universal_prod.entrypoints=web2"
      - "traefik.http.routers.frontend.rule=(Host(`${EXTERNAL_HOST}` && PathPrefix(`/erp`))"
  indicium_prod:
    image: registry.thinkwisesoftware.com/public/indicium:${TAGPROD}
    environment:
      - SQL_SERVER=${SQL_SERVER_PROD}
      - SQL_DATABASE=${SQL_DATABASE_PROD}
      - SQL_USERNAME=${SQL_USERNAME_PROD}
      - SQL_PASSWORD=${SQL_PASSWORD_PROD}
      - ENABLE_REVERSE_PROXY=true
      - ALLOWED_HEADERS=All
      - TRUSTED_NETWORKS=0.0.0.0/0
      - EXTERNAL_PATH_BASE=/indicium
      - CUSTOM_JSON={"Agent":{"Enabled":false}}
    labels:
      - "traefik.enable=true"
      - "traefik.http.routers.indicium_prod.entrypoints=web2"
      - "traefik.http.routers.backend.rule=(Host(`${EXTERNAL_HOST}`) && PathPrefix(`/indicium`))"
      - "traefik.http.middlewares.backend.stripprefix.prefixes=/indicium"
      - "traefik.http.routers.backend.middlewares=backend"
This config works without issues when I leave out the && PathPrefix(`/erp`) part for the universal_prod container which then makes the Universal GUI available via http://server directly.
                
     
                                    
            After some more researching I understand now this can't work because, unlike Indicium, Universal doesn't have a base path setting and always runs under its own root path. The only solutions are using different ports or different subdomains of which the latter is probably the preferred method. I can't setup subdomains myself so I'll have to take this up with the right department.