Turn git repositories into Jupyter-enabled Docker Images
 
 
 
 
 
 
Go to file
YuviPanda 0d0a2f8eb9 Use miniforge instead of miniconda to get conda
[miniforge](https://github.com/conda-forge/miniforge) is a new
community-led installer that uses conda-forge as the default
channel, rather than defaults. This gives us a few advantages:

- No mixing of defaults & conda-forge channel by default. My
  intuition is that this will reduce image size & build times,
  but I don't know enough about conda to say if this is real
- It provides installers for architectures unsupported by miniconda.
  This is particularly useful important for ARM & PowerPC, when we
  want to support those better.
- I like conda-forge, and we should do what we can to support them!
  This is a fairly easy, drop-in way to do so
- It is more likely to have newer versions of conda by default
  than miniconda
- It provides sha256 hashes for installers rather than just md5. This
  makes me personally happy

There should be no user-facing changes here as far as I can tell.

Fixes #858
2020-03-04 14:52:34 +05:30
.circleci
.github/ISSUE_TEMPLATE Update .github/ISSUE_TEMPLATE/feature_request.md 2019-04-30 09:18:01 +01:00
docker
docs docs: postBuild warn about shell script errors being ignored 2020-02-05 20:37:04 +00:00
hooks use repo2docker version in docker tags 2019-09-06 12:31:35 +02:00
repo2docker Use miniforge instead of miniconda to get conda 2020-03-04 14:52:34 +05:30
tests Merge pull request #851 from manics/mran-latest 2020-02-24 10:19:09 +01:00
.codecov.yml
.coveragerc
.dockerignore add hooks to dockerignore 2019-09-07 13:57:47 +02:00
.gitattributes
.gitignore add documentation how to compare Dockerfiles created between current and oder version of r2d 2019-09-08 21:22:37 +02:00
.pre-commit-config.yaml Update black 19.10b0, target Python 3.5 2020-02-14 23:17:45 +00:00
.travis.yml Merge remote-tracking branch 'upstream/master' into pipenv-support 2019-06-04 08:53:56 +02:00
CHANGES.rst
CONTRIBUTING.md Update CONTRIBUTING.md 2019-04-29 16:40:02 +01:00
Dockerfile Restore the hooks directory when building the docker image 2019-09-08 17:11:28 +02:00
LICENSE
MANIFEST.in Add Dataverse content provider 2019-09-13 13:42:41 -05:00
Makefile
Pipfile
Pipfile.lock semver back to Pipfile.lock 2019-06-23 05:44:54 +02:00
README.md Add contributor badge 2020-01-28 11:17:50 +02:00
ROADMAP.md
azure-pipelines.yml Remove lint step for now 2020-01-29 15:53:14 +01:00
dev-requirements.txt Add azure pipelines for testing 2019-09-08 08:04:24 +02:00
docker-compose.test.yml
readthedocs.yml
setup.cfg
setup.py sort and pretty print dataverse.json 2019-09-18 08:54:48 +02:00
versioneer.py Apply auto formatting 2019-06-03 21:37:25 +02:00

README.md

repo2docker

Build Status Documentation Status Build 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.

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

Using repo2docker

Prerequisites

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

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