Skip to content

MathHubInfo/JupyterHub-Deployment

Repository files navigation

JupyterHub-Deployment

JupyterHub-Deployment provides a reference deployment of jupyter-console-standalone, the mmt_kernel and the MoSIS interview_kernel using Docker.

Disclaimer

This deployment is NOT intended for a production environment. It is a reference implementation that does not meet traditional requirements in terms of availability nor scalability.

Technical Overview

Key components of this reference deployment are:

  • Host: Runs the JupyterHub components and a MMT server in a Docker container on the host.

  • Authenticator: Uses tmpauthenticator to create user accounts on the fly.

  • Spawner: Uses DockerSpawner to spawn single-user Jupyter Notebook servers in separate Docker containers on the same host.

  • Persistence of Hub data: Persists JupyterHub data in a Docker volume on the host.

  • Persistence of user notebook directories: Persists user notebook directories in Docker volumes on the host.

Prerequisites

Docker

This deployment uses Docker, via Docker Compose, for all the things. Docker Engine 1.12.0 or higher is required.

  1. Use Docker's installation instructions to set up Docker for your environment.

  2. To verify your docker installation, whether running docker as a local installation or using docker-machine, enter these commands:

    docker version
    docker ps

Configure your setup

Run the configure script with:

./configure

Here you can choose your domain name and also state additional archives that should be installed to your MMT.

Run JupyterHub

Run the JupyterHub container on the host.

To run the JupyterHub container in detached mode:

docker-compose up -d

Once the container is running, you should be able to access the JupyterHub console at

https://mydomain

To bring down the JupyterHub container:

docker-compose down