Serving jupyterhub on path other than root using nginx controller

Hello everyone,

I have two service which I want to serve on different paths using nginx ingress controller.

One of the services in Jupyterhub. I have tried multiple combinations of REGEX and rewrite paths but somehow I am not able to serve JHUB on any other path than “/” (root). I know I might be missing something very small here. Can anybody help me with this?

Here is my ingress.yaml file

apiVersion: extensions/v1beta1
kind: Ingress
  name: nb-ingress
  namespace: dev
  annotations: "nginx" /$2
    - host:
          - path: /jupyter(/|$)(.*)
              serviceName: proxy-public
              servicePort: 80

Thank you!!

You need to configure JupyterHub to run under a prefix by setting base_url

If you’re using the official Helm chart you can set it with hub.baseUrl

Thank you @manics. It worked fine :smile:

@n3o-Bhushan Can you post the final Ingress yaml ?

@cluel01 sorry I missed your message. Our ingress changed a lot. Now we apply it through Terraform so I don’t have the actual yaml. Sorry about that.