Turn git repositories into Jupyter-enabled Docker Images
Go to file
Erik Sundell d2f467cef6
Merge pull request #1342 from jupyterhub/pre-commit-ci-update-config
[pre-commit.ci] pre-commit autoupdate
2024-04-02 09:54:26 +02:00
.github build(deps): bump codecov/codecov-action from 3 to 4 2024-02-01 05:06:50 +00:00
docker Add entrypoint script which automatically propagates *_PROXY env vars to docker config 2021-01-13 13:57:52 +01:00
docs Changelog for 2024.03.0 2024-03-28 19:13:23 +00:00
repo2docker Update conda from 23.7.4 to 24.3.0 2024-03-24 22:16:05 +01:00
tests Update conda from 23.7.4 to 24.3.0 2024-03-24 22:16:05 +01:00
.codecov.yml disable codecov status 2023-02-21 09:32:02 +01:00
.coveragerc Changeg source file aliasing 2021-01-23 10:51:41 +01:00
.dockerignore add hooks to dockerignore 2019-09-07 13:57:47 +02:00
.gitattributes Add versioneer support 2018-07-02 22:03:53 +02:00
.gitignore Update .gitignore 2022-10-24 15:11:02 +02:00
.gitpod.yml Also install dev requirements on Gitpod 2023-01-20 16:37:44 +01:00
.pre-commit-config.yaml [pre-commit.ci] pre-commit autoupdate 2024-04-01 22:10:42 +00:00
.readthedocs.yaml docs: update readthedocs config 2022-10-24 15:11:02 +02:00
CHANGES.rst Recreate changelog as markdown 2023-06-06 01:21:40 +05:30
CONTRIBUTING.md [pre-commit.ci] auto fixes from pre-commit.com hooks 2022-10-31 22:40:52 +00:00
Dockerfile Use ARG instead of ENV for build time only environment variable 2024-03-24 22:35:15 +01:00
LICENSE Moved old COPYING.md to LICENSE, and updated with current language. 2017-08-26 20:30:15 +02:00
MANIFEST.in Add Dataverse content provider 2019-09-13 13:42:41 -05:00
Makefile Add makefile for building and pushing image 2017-05-28 19:25:56 -07:00
README.md [pre-commit.ci] auto fixes from pre-commit.com hooks 2022-10-31 22:40:52 +00:00
RELEASE.md Add RELEASE.md 2022-02-06 15:16:12 +00:00
ROADMAP.md adding a roadmap link to the root 2018-12-20 08:57:07 -08:00
dev-requirements.txt Don't pin upper pytest version 2024-02-01 22:39:08 +00:00
docker-compose.test.yml add extremely basic docker-compose test config 2018-12-19 14:33:07 +01:00
setup.cfg Add versioneer support 2018-07-02 22:03:53 +02:00
setup.py [pre-commit.ci] auto fixes from pre-commit.com hooks 2022-10-31 22:32:14 +00:00
versioneer.py [pre-commit.ci] auto fixes from pre-commit.com hooks 2024-01-28 14:02:27 +00:00



Build Status Documentation Status Contribute Docker Repository on Quay

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.

For support questions please search or post to https://discourse.jupyter.org/c/binder.

See the contributing guide for information on contributing to repo2docker.

Please note that this repository is participating in a study into sustainability of open source projects. Data will be gathered about this repository for approximately the next 12 months, starting from 2021-06-11.

Data collected will include number of contributors, number of PRs, time taken to close/merge these PRs, and issues closed.

For more information, please visit our informational page or download our participant information sheet.

Using repo2docker


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

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/jupyterhub/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.

Docker Image

Repo2Docker can be run inside a Docker container if access to the Docker Daemon is provided, for example see BinderHub. Docker images are published to quay.io. The old Docker Hub image is no longer supported.