Turn git repositories into Jupyter-enabled Docker Images
 
 
 
 
 
 
Go to file
Gerhard Bräunlich e04a14a7cc Add entrypoint script which automatically propagates *_PROXY env vars to docker config 2021-01-13 13:57:52 +01:00
.circleci Add pip install repo 2018-12-17 16:11:26 -06:00
.github Weekly test of master to check for external failures 2021-01-04 22:35:10 +00:00
docker Add entrypoint script which automatically propagates *_PROXY env vars to docker config 2021-01-13 13:57:52 +01:00
docs Remove support for stencila 2020-11-19 18:17:23 +01:00
hooks use repo2docker version in docker tags 2019-09-06 12:31:35 +02:00
repo2docker Merge pull request #991 from FRidh/nix-2.3.9 2021-01-13 11:16:06 +01:00
tests Use mambaforge instead of miniforge 2020-12-06 11:50:11 +01:00
.codecov.yml Swap codecov targets around 2018-12-12 07:09:27 +01:00
.coveragerc Add a coverage.py config file to exclude _version.py 2018-10-12 16:11:42 +02: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 add documentation how to compare Dockerfiles created between current and oder version of r2d 2019-09-08 21:22:37 +02:00
.gitpod.yml Add sphinx-autobuild to gitpod setup 2020-06-08 15:25:51 +02:00
.pre-commit-config.yaml Bump Black version (20.8b1) and use --target-version=py36 2020-09-10 08:11:29 +02:00
.travis.yml address travis lint warnings 2020-08-10 11:27:16 +02:00
CHANGES.rst Update CHANGES.rst [skip travis] 2018-12-15 10:25:49 -06:00
CONTRIBUTING.md Update CONTRIBUTING.md 2019-04-29 16:40:02 +01:00
Dockerfile Add entrypoint script which automatically propagates *_PROXY env vars to docker config 2021-01-13 13:57:52 +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
Pipfile Mercurial: remove conditions for py3.5 + requirements only in setup.py 2020-09-08 10:09:13 +02:00
Pipfile.lock semver back to Pipfile.lock 2019-06-23 05:44:54 +02:00
README.md Bump Python requirement to 3.6 from 3.5 2020-09-07 08:02:09 +02:00
ROADMAP.md adding a roadmap link to the root 2018-12-20 08:57:07 -08:00
dev-requirements.txt Mercurial: remove conditions for py3.5 + requirements only in setup.py 2020-09-08 10:09:13 +02:00
docker-compose.test.yml add extremely basic docker-compose test config 2018-12-19 14:33:07 +01:00
readthedocs.yml Update RTD to install repo2docker 2018-12-17 21:41:10 -06:00
setup.cfg Add versioneer support 2018-07-02 22:03:53 +02:00
setup.py Update Dockerfile (ALPINE_VERSION=3.12.0 & install mercurial) + remove mercurial from install_requires 2020-09-09 18:10:19 +02:00
versioneer.py Apply auto formatting 2019-06-03 21:37:25 +02:00

README.md

repo2docker

Deploy Status Build Status Documentation Status Contribute

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.

Using repo2docker

Prerequisites

  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.

Installation

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 .

Usage

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.

Example:

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:
        http://0.0.0.0:36511/?token=f94f8fabb92e22f5bfab116c382b4707fc2cade56ad1ace0

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.