Deploy JupyterHub using Helm

How to deploy JupyterHub on Qovery using the official Helm chart.

JupyterHub is an easy way to interact with a computing environment through a webpage. It provides a standardized way to serve Jupyter Notebooks for multiple users. Pairing it with Kubernetes and Qovery makes it easier to manage and scale.

Installation

The easiest way to deploy JupyterHub is using the official Helm Chart. It will create all the resources you need to run JupyterHub.

For more information, the official documentation is available here.

  1. Add the JupyterHub helm repository

    Add the JupyterHub helm repository in your Qovery settings by following this documentation

    • Repository name: JupyterHub
    • Kind: HTTPS
    • Repository URL: https://hub.jupyter.org/helm-chart/
  2. Create the JupyterHub service within Qovery

    Create the JupyterHub service in the Qovery environment of your choice (preferably within a dedicated JupyterHub project) by following this documentation and these values:

    • General:
      • Application name: JupyterHub
      • Source:
        • Helm source: Helm repository
        • Repository: JupyterHub (the name given during the JupyterHub helm repository added in the previous step)
        • Chart name: jupyterhub
        • Version: 3.3.7 (this is the version we used for this setup, update it based on the chosen version)
        • Allow cluster-wide resources ✔️
    • Values
      • Values override as file:
      • File source: Raw YAML
      • Raw YAML:
    fullnameOverride: "jupyterhub"
    proxy:
    service:
    type: ClusterIP

    There are many other values you can set to modify the JupyterHub behavior. For advanced usage, check: JupyterHub Customization

    Now get to the last step and Create the service on Qovery.

  3. Add Network configuration

    In the previous step, we created the JupyterHub service. In this step, we will update its configuration to make it available on the public network (through Qovery Nginx Ingress).

    • Open the JupyterHub service details
    • Enter the Settings section
    • Click on Networking
    • Add a new Port with:
      • Service name: jupyterhub-proxy-public
      • Service port: 80
      • Select protocol: HTTP
      • External port: 443
      • Port name: jupyterhub-proxy-public-p80

    If you need more information on how to manage your ports, have a look at this

  4. Deploy your chart

    Open the Play button and trigger the deployment of your chart.

    JupyterHub - Deploy

  5. Access JupyterHub

    You can click the Link button to access JupyterHub on your cluster.

    JupyterHub - Link

    Now you can login to the webUI and start playing with Jupyter Notebooks.

Conclusion

JupyterHub is running on your Qovery cluster. This is a simple installation and you should try to customize it according to your needs. You can also check theAdminstrator Guideto better understand how it works.