Repolode
jupyterhub

jupyterhub/repo2docker

Builds a git repository into a Jupyter-enabled Docker image based on the configuration files found in that repo.

Stars
1,740
Forks
389
Open issues
199
Last commit
23 hours ago

What is it?

repo2docker fetches a git repository, from GitHub or a local path, and builds a container image from the configuration files it contains. The image is set up so the repository's contents can be explored in a Jupyter environment, which makes it easy to share a project with its dependencies already installed.

Running it is a single command, such as jupyter-repo2docker with a repository URL. Docker must be running on the machine. Once the build finishes, the tool prints a URL with a login token that opens Jupyter Notebook with the repository's files.

The design is inspired by Heroku Build Packs: the repository itself declares how the environment should be built. It is the engine behind Binder-style services, and BinderHub can run it inside a container when given access to the Docker daemon. Supported on Linux and macOS, and installable from PyPI as jupyter-repo2docker.

Key features

  • 01Fetches a git repository from GitHub or a local path and builds it into a Docker image.
  • 02Reads configuration files in the repository to decide the environment setup.
  • 03Launches a Jupyter Notebook server with the repository contents once the build completes.
  • 04Can be installed from PyPI or from source with pip.
  • 05Can run inside a container when Docker daemon access is provided, as used by BinderHub.

Use cases

  • Packaging a research or teaching repository so others can run it with all dependencies preinstalled.
  • Running a shared code repository in a reproducible Jupyter environment without manual setup.
  • Providing Binder-style launch links for a project through BinderHub.

Quick start

  1. 1

    Install Docker (required and must be running)

  2. 2

    Install repo2docker from PyPI

    pip install jupyter-repo2docker
  3. 3

    Build and launch a repository

    jupyter-repo2docker https://github.com/norvig/pytudes

Things to know

  • Supported on Linux and macOS; Windows support is not official.
  • Requires Docker to be running on your machine.

Topics

FAQ

What is repo2docker?
Builds a git repository into a Jupyter-enabled Docker image based on the configuration files found in that repo. repo2docker fetches a git repository, from GitHub or a local path, and builds a container image from the configuration files it contains. The image is set up so the repository's contents can be explored in a Jupyter environment, which makes it easy to share a project with its dependencies already installed.
Is repo2docker free to use? What license does it have?
repo2docker is open source under the BSD-3-Clause license. Check the license terms before using it in commercial products.
Is repo2docker still maintained?
Actively maintained. The last commit to repo2docker was on Nov 6, 2026.
What can I use repo2docker for?
Packaging a research or teaching repository so others can run it with all dependencies preinstalled. Running a shared code repository in a reproducible Jupyter environment without manual setup. Providing Binder-style launch links for a project through BinderHub.
How do I install repo2docker?
Install Docker (required and must be running) Install repo2docker from PyPI: pip install jupyter-repo2docker Build and launch a repository: jupyter-repo2docker https://github.com/norvig/pytudes
Where can I get repo2docker?
The source code and installation instructions are on GitHub: https://github.com/jupyterhub/repo2docker

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects