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:
1---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.