Miniforge 3 + JupyterLab 4 for Data Science + TensorFlow (with GPU support) + Torch (with GPU support)
This project provides a pre-packaged, pre-configured JupyterLab environment running on Miniconda with NVIDIA GPU support. It includes a curated set of data science packages, allowing you to start your data science projects with ease.
Preferred method for running the container is with docker-compose
- download
docker-compose.yml
ordocker-compose-gpu.yml
file - run
docker-compose -f docker-compose.yml up
command - open https://localhost:8888 in your browser
You can run the stellars-jupyterlab-ds
container without docker-compose, just with docker.
Commands below will create a container with persistent home folder (settings), certs mount (with https certificates for security) and workspace (your projects). Use the commands below:
IMPORTANT: make sure you have docker host running (i.e. Docker Desktop)
Without GPU support
docker run -p 8888:8888 \
-v stellars-jupyterlab-ds_home:/home \
-v stellars-jupyterlab-ds_workspace:/home/lab/workspace \
-v stellars-jupyterlab-ds_certs:/mnt/certs \
--name lab \
--hostname lab \
stellars/stellars-jupyterlab-ds:latest
With GPU support (NVIDIA)
docker run -p 8888:8888 \
-v stellars-jupyterlab-ds_home:/home \
-v stellars-jupyterlab-ds_workspace:/home/lab/workspace \
-v stellars-jupyterlab-ds_certs:/mnt/certs \
-e GPU_SUPPORT_ENABLED=1 \
--gpus all \
--name lab-gpu \
--hostname lab-gpu \
stellars/stellars-jupyterlab-ds:latest
... and open https://localhost:8888 in your browser
-
JupyterLab Extensions:
- JupyterLab-Git extension
- JupyterLab-LSP (Python) for enhanced autocompletion and code suggestions with documentation
- Resource usage monitor
-
TensorBoard:
- TensorBoard server running on port
6006
, with logs stored in/tmp/tf_logs
to monitor your ML/AI model training and neural network development
- TensorBoard server running on port
For a complete list of installed packages, please refer to the packages manifest, which is frequently updated to ensure you have access to the best tools for your development needs.
Name: Konrad Jelen (aka Stellars Henson)
Email: konrad.jelen+github@gmail.com
LinkedIn: Konrad Jelen
Entrepreneur, enterprise architect, and data science/machine learning practitioner with extensive software development and product management experience. Previously an experimental physicist with a strong background in physics, electronics, manufacturing, and science.
To use this environment, Docker must be installed on your system. JupyterLab 4 is provided as a Docker container, ensuring complete isolation from your system's software.
Docker Hub Repository: Stellars JupyterLab DS
- Docker Desktop - Includes the
docker-compose
command necessary to run the container. docker-compose
- Installed automatically with Docker Desktop.
-
Pull the latest container image:
docker-compose pull
-
(Optional) Build the image locally:
Note that building the image locally may take approximately 1.5 hours.docker-compose build
-
Start the container with your desired configuration:
- Standard non-CUDA container:
docker-compose up
- Standard CUDA container:
docker-compose -f docker-compose-gpu.yml up
- Custom container configuration:
docker-compose -f local/your-custom-docker-compose.yml up
- Alternatively, use the provided
bin/start*
scripts.
- Standard non-CUDA container:
-
Access JupyterLab:
Open https://localhost:8888 in your browser. -
Access TensorBoard:
Open http://localhost:6006 in your browser.
Quick Configuration Tips:
- Use the
CONDA_DEFAULT_ENV
variable in thedocker-compose.yml
files to specify your default conda environment.
- Work Directory:
~/workspace
- Home Directory:
/home/lab
(contains user settings) - JupyterLab Settings: Stored in
/home/lab/.jupyter
- Volume Mapping: If using
docker-compose
, local/home
and~/workspace
directories are mapped to persistent docker volumes respectivey. Thanks to this you can frequently update stellars-jupyterlab-ds container image without affecting your work - Root Access: You have access to the local root account with
sudo
(password:password
). - TensorBoard Logs Directory:
/tmp/tf_logs
- Ports:
- TensorBoard:
6006
- JupyterLab:
8888
- TensorBoard:
- Conda Environments:
base
- basic machine learning tools and packagestensorflow
- environment with all tools frombase
and latest stabletensorflow
installed with NVIDIA GPU supporttorch
- environment with all tools frombase
and latest stabletorch
installed with NVIDIA GPU support. Additionally packages fromultralytics
were installed for your YOLO projects
Tip: You can change envionment using conda activate env_name
command. You can also set default environment either by setting CONDA_DEFAULT_ENV
in docker-compose.yml
file or in the ~/.profile
file in your home directory
Tip: You don't need to run docker-compose build
if you pull the image from Docker Hub. Running docker-compose up
for the first time will automatically use the pre-built package if available.
- ./build: Contains container build artifacts. Typically, you won't need to interact with this directory.
- ./.env: Contains the project name, used for naming volumes and the Docker Compose project.
Tip: Modify the /opt/workspace
entry in the volumes:
section of the docker-compose
files to map to a different project location on your filesystem.
- JupyterLab 4+ (JupyterLab Homepage for reference)
- Extensions: Git integration, autocompletion, and other useful tools.
- Language Server Protocol (LSP): For Python autocompletion.
- Machine Learning Libraries: Keras, TensorFlow, Scikit-learn, SciPy, NumPy.
- Data Manipulation Libraries: Pandas, Polars.
- Visualization Libraries: Matplotlib, Seaborn.
- NVIDIA CUDA Support: GPU-accelerated libraries like CuPy, cuDF, and TensorFlow with GPU support.
- Miniconda: With enhanced terminal support in JupyterLab.
- Output Formats: HTML and PDF (WebPDF) generation.
- Memory Profiler: Monitor resource usage.
- Customizable File Mapping: Easily map your filesystem's project folder to the container.
- Persistent Settings: Configurable files and folders for JupyterLab settings, AWS credentials, and Git settings.
- Themes: IntelliJ dark theme with medium contrast.
- Favourites: Quick access for projects.
- Enhanced Terminal: Includes
mc
and other useful tools. - TensorBoard: Pre-configured and running on port 6006.
- TensorFlow Visualization Extensions: For improved model insights.