Turn git repositories into Jupyter enabled Docker Images
Clone or download
Latest commit ff894f4 Jan 22, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
.circleci Add pip install repo Dec 17, 2018
docker Issue #388 - Use bash echo for git-credential-env Sep 6, 2018
docs Fixed sphinx error finding changelog Jan 9, 2019
hooks fix docker commit tag [ci skip] Jan 22, 2019
repo2docker Support requirements.txt & runtime.txt with Julia Jan 18, 2019
tests Remove redundant Julia test Jan 18, 2019
.codecov.yml Swap codecov targets around Dec 12, 2018
.coveragerc Add a coverage.py config file to exclude _version.py Oct 12, 2018
.dockerignore Explicitly add a .dockerignore rather than symlink Oct 5, 2017
.gitattributes Add versioneer support Jul 2, 2018
.gitignore Refreeze environments Dec 11, 2018
.travis.yml remove travis docker build Dec 19, 2018
CHANGES.rst Update CHANGES.rst [skip travis] Dec 15, 2018
CONTRIBUTING.md Add a first roadmap Nov 6, 2018
Dockerfile use multi-stage build Dec 19, 2018
LICENSE Moved old COPYING.md to LICENSE, and updated with current language. Aug 26, 2017
MANIFEST.in Add versioneer support Jul 2, 2018
Makefile Add makefile for building and pushing image May 29, 2017
Pipfile Adds pytest version to fix travis build errors Jan 8, 2019
Pipfile.lock Add docs deps to Pipfile Nov 11, 2018
README.md Add space between logo and title in README Nov 12, 2018
ROADMAP.md adding a roadmap link to the root Dec 20, 2018
dev-requirements.txt Adds pytest version to fix travis build errors Jan 8, 2019
docker-compose.test.yml add extremely basic docker-compose test config Dec 19, 2018
readthedocs.yml Update RTD to install repo2docker Dec 18, 2018
setup.cfg Add versioneer support Jul 2, 2018
setup.py Better approach to dealing with alt Python versions Nov 15, 2018
versioneer.py Add versioneer support Jul 2, 2018



Build Status Documentation Status

repo2docker fetches a git repository and builds a container image based on the configuration files found in the repository.

See the repo2docker documentation for more information on using repo2docker.

See the contributing guide for information on contributing to repo2docker.

See our roadmap to learn about where the project is heading.

Using repo2docker


  1. Docker to build & run the repositories. The community edition is recommended.
  2. Python 3.4+.

Supported on Linux and macOS. See documentation note about Windows support.


This a quick guide to installing repo2docker, see our documentation for a full guide.

To install from PyPI:

pip install jupyter-repo2docker

To install from source:

git clone https://github.com/jupyter/repo2docker.git
cd repo2docker
pip install -e .


The core feature of repo2docker is to fetch a git repository (from GitHub or locally), build a container image based on the specifications found in the repository & optionally launch the container that you can use to explore the repository.

Note that Docker needs to be running on your machine for this to work.


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

After building (it might take a while!), it should output in your terminal something like:

    Copy/paste this URL into your browser when you connect for the first time,
    to login with a token:

If you copy paste that URL into your browser you will see a Jupyter Notebook with the contents of the repository you had just built!

For more information on how to use repo2docker, see the usage guide.

Repository specifications

Repo2Docker looks for configuration files in the source repository to determine how the Docker image should be built. For a list of the configuration files that repo2docker can use, see the complete list of configuration files.

The philosophy of repo2docker is inspired by Heroku Build Packs.