Open-source Data integration platform
OpenHEXA is an open-source data integration platform developed by Bluesquare.
Its goal is to facilitate data integration and analysis workflows, in particular in the context of public health projects.
Please refer to the OpenHEXA wiki for more information about OpenHEXA.
The Notebooks component is not meant to be use in a stand-alone fashion. It is a part of the OpenHEXA platform, and from a user perspective, it is embedded within the OpenHEXA App component.
The Notebooks component is a JupyterHub setup, deployed in a Kubernetes cluster. OpenHEXA relies on the official Zero to JupyterHub Jupyterhub distribution, which contains a Helm chart to manage deployments.
When the hub starts a single-user Jupyter notebook server, it actually spawns a new pod within the Kubernetes cluster. Each single-user server instance is totally isolated from other instances.
Those single-user server instances use customized Docker images
based on the datascience-notebook
image provided by the
Jupyter Docker Stacks project.
The OpenHEXA customized JupyterHub setup us published as a Docker image on Docker Hub: blsq/openhexa-jupyterhub
If you're looking something working out of the box for local development, see "Local development" section below.
The Notebooks component uses a custom authenticator that will connect to the App component to authenticate users. You will need to have the App component up-and-running to be able to authenticate users.
The Installation instructions section of our wiki gives an overview of the local development setup required to run OpenHEXA locally.
To run the OpenHEXA notebooks components locally, you will need Docker.
This repository provides a ready-to-use docker-compose.yaml
file for local development. It assumes that the
App component is running on http://localhost:8000.
If you want to use our published Docker Image of the Jupyter notebook, you can start JupyterHub as it follows:
docker compose -f docker-compose.yml -f docker-compose-withdockerhub.yml up
Otherwise, build the images (it can take a long time) and you are ready to go:
docker compose build
docker compose up
The custom Jupyterhub is built using a Github workflow (see .github/workflows
directory).