/jupyterhub-docker

Simple deployment of JupyterHub with docker-compose

Primary LanguagePythonMIT LicenseMIT

jupyterhub-docker

jupyterhub-docker provides a simple deployment of JupyterHub, a multi-user Jupyter Notebook environment, on a single host using Docker Compose.

Installation

Configuration

  • Configure Docker Compose: Create the file .env in the base folder with the following content:

    # name of docker network in which the jupyter containers are run
    DOCKER_NETWORK=jupyterhub-network
    
    # name of the docker network of traefik
    TRAEFIK_NETWORK=traefik
    
    # host under which traefik should make jupyter available
    TRAEFIK_HOST=<myhost.mydomain>
    
  • Configure userlist: Create a userlist file in the jupyter-hub folder. This file contains the list of authorized JupyterHub users specified by their GitHub usernames, and this file should designate at least one admin user. For example:

    unrealsoon admin
    kittypuree
    flangefile
    
  • Configure GitHub OAuth: You must pass the GitHub OAuth Client ID, Client Secret and OAuth callback url JupyterHub's runtime. To do this, add them to an oauth.env file in the secrets directory of this repository. You may need to create both the secrets directory and the oauth.env file. For example, add the following lines in the oauth.env file:

    GITHUB_CLIENT_ID=<github_client_id>
    GITHUB_CLIENT_SECRET=<github_client_secret>
    OAUTH_CALLBACK_URL=https://<myhost.mydomain>/hub/oauth_callback
    

SCIP

The jupyter-notebook requires a local copy of the SCIP Optimization Suite. Follow the installation instructions here to copy the SCIP Optimization Suite files into the jupyter-nodebook folder.

Docker

Run the following command to update the images and start the hub:

docker-compose up -d --build