❗ Developer note: As mentioned in the official Jupyter image stack repository, newer images are pushed to quay.io. Please pull from quay.io/jupyter/datascience-notebook when developing new Tools and Apps. ❗
Project Jupyter Datascience Notebook with additional packages and tools for use in CyVerse Discovery Environment
Jupyter Lab Datascience image built from the Datascience Notebook for CyVerse VICE. This image includes GitHub CLI, enhanced K8s CSI driver support, and optimized build layers for improved performance and reproducibility in CyVerse Kubernetes orchestration with iRODS data store integration.
| quick launch |
|---|
This image includes the following additional tools and features beyond the base Jupyter datascience notebook:
- GitHub CLI (
gh) - Command-line tool for GitHub operations - Git Credential Manager - Secure credential storage for Git operations
- VS Code Server - Browser-based VS Code environment
- Jupyter AI - AI assistant integration for Jupyter notebooks
- RStudio Server - Web-based R development environment
- Shiny Server - Host interactive R applications
- GoCommands - CyVerse data transfer utilities
- iRODS integration - Direct access to CyVerse data store
- Enhanced monitoring - htop, glances for system monitoring
- Development tools - gcc, build essentials, package managers
- Kubernetes CSI driver support - Automatic environment file sourcing
- Sudo access for jovyan user (configurable permissions)
- Secure credential management with Git Credential Manager
- Environment file sourcing from K8s CSI driver mounted secrets
- Use either CodeSpaces or another clean Dev Environment that you trust to clone the repository
note: The larger datascience images (e.g., geospatial, earthlab, or ML types with CUDA, Tensorflow or Pytorch) are all >5GB in size when compressed and can be over 30GB when uncompressed. Make sure to use a VM with enough RAM and Disk storage (suggest >8 cores, >16 GB RAM, >60 GB disk).
- Clone this repository
git clone https://github.com/cyverse-vice/jupyterlab-datascience
- Determine what version the current
latestimage is running, and prepare a new folder with that version of JupyterHub if it is no longerlatest.
Visit the Jupyter Docker Stacks pages
-
Rename the previous
latestas its point release version number -
Create a copy of the directory
latestand make any updates required for broken package dependencies -
Build the new image using the
latesttag name -
Test the new image by running it with a suitable sample notebook
-
Check the GitHub Action to make sure it is using the
latestfeatured build successfully -
Push changes back to GitHub repository
mainbranch and wait until GitHub Action completes.
To run the JupyterLab, you must first pull from DockerHub, or activate a CyVerse Account and launch in the Discovery Environment VICE.
The container for running JupyterLab is hosted on DockerHub and can be started locally:
docker pull harbor.cyverse.org/vice/jupyter/datascience:latest
docker run -it --rm -p 8888:8888 harbor.cyverse.org/vice/jupyter/datascience:latest
Unless you plan on making changes to this container, you should just use the existing launch button above.
You can build a new Docker container with additional dependencies from this Docker Hub image by using the FROM cyversevice/jupyterlab-scipy:latest at the beginning of your own Dockerfile.
To test the container locally:
docker run -it --rm -p 8888:8888 -e REDIRECT_URL=http://localhost:8888 harbor.cyverse.org/vice/jupyter/datascience:latest
To build your own container with a Dockerfile and additional dependencies, pull the pre-built image from DockerHub:
FROM harbor.cyverse.org/vice/jupyter/datascience:latest
Follow the instructions in the VICE manual for integrating your own tools and apps.