A Docker image is a great way to get started with JupyterHub for your data science team. You can quickly evaluate the collaboration tools and then support the work of a large team. And if you need to customize the image, you can easily extend it. This article shows you how to deploy the JupyterHub for Collaboration image. For a list of all JupyterHub collaboration stories see Data Science Team Collaboration with JupyterHub.
The image has the following packages and extensions:
- Anaconda to support multiple environments and provide popular data science libraries
- JupyterHub/JupyterLab
- JupyterLab Git to manage updates and sharing on GitHub
- Support for reveal.js to produce slide shows
- JupyterLab Table of Contents support
- JupyterLab Spell Check
- Interactive Matplotlib support for presentations
- Support for adding new users
To deploy the image you will need to install Docker. Using a terminal or PowerShell you can pull the image from Docker Hub and run the image in a container named j4c using:
docker run -p 8000:8000 -d --name j4c / jeffgunderson/jupyterhub4collaboration
You should see the image running by selecting Containers in Docker Desktop.

The Desktop provides actions to view the JupyterHub log, open a terminal or start/stop the container. You can also view images and their properties.
Connect to the container in a browser using http://localhost:8000 and you should see the Sign in prompt:

Sign on with user admin, password default. This will present the JupyterHub Launcher where you can launch notebooks, consoles and other applications.

JupyterHub supports a number of user authentication methods. We are using the default PAM-based Authenticator, for logging in with container user accounts via a username and password. To add a new user, select File > Hub Control Panel > Admin:

When adding a new user, the user will have password default. You can change the password defined in the container user account. In a terminal or PowerShell start a bash shell:
docker exec -it j4c bash
and change the password with:
passwd username
To start using collaboration tools see:
- Using GitHub for Collaboration with JupyterLab
- Effective Documentation and Presentations with JupyterLab
To see how the Docker image was built: Building Docker Based JupyterHub for Collaboration

No responses yet