Everware is about re-useable science, it allows people to jump right in to your research code.
Python HTML CSS JavaScript Makefile Shell
Latest commit 7e9dead Jun 30, 2017 @anaderi anaderi committed on GitHub Merge pull request #205 from StrausMG/byor
Bring Your Own Resources
Permalink
Failed to load latest commit information.
build_tools KILL PROXY WITH FIRE Apr 14, 2017
docs updated configs and makefile to deploy everware as docker image Apr 4, 2017
etc move initialization of options_form to __init__ Jun 27, 2017
everware Merge branch 'master' into byor Jun 30, 2017
frontend_tests support for custom run command and auto git clone inside container Apr 14, 2017
scripts add new page for displaying statistics May 20, 2017
share/static minor fixes Jun 24, 2017
.bowerrc Add missing .bowerrc Aug 18, 2015
.gitignore minor code improvemenets Jun 19, 2017
.travis.yml Changed repo again May 10, 2016
CONDUCT.md Add code of conduct Feb 24, 2016
CONTRIBUTING.md Link to a rebase howto and motivation for why rebase is preferred Mar 22, 2016
Dockerfile fix Dockerfile Apr 6, 2017
LICENSE Credit claim Sep 20, 2015
Makefile updated configs and makefile to deploy everware as docker image Apr 14, 2017
README.md fix link to docker.md May 19, 2017
bower.json Saving states May 16, 2017
env.docker-local.orig Config and env file to run on local or remote Docker Apr 27, 2016
env.docker-remote.orig updated configs and makefile to deploy everware as docker image Apr 4, 2017
env.docker-swarm.orig updated configs and makefile to deploy everware as docker image Apr 4, 2017
env.sh.orig added default image to config Jan 4, 2017
package.json Add initial code Aug 17, 2015
requirements.txt add pyyaml to dependencies Apr 14, 2017
run.makefile fix makefiles Apr 6, 2017
setup.py Added scripts to setup.py Mar 15, 2016
unittest.cfg scripts -> makefile; initial web-testing Mar 6, 2016

README.md

everware

Gitter Build Status

Everware is about re-useable science, it allows people to jump right in to your research code.

It lets you launch Jupyter notebooks from a git repository with a click of a button. Everware is an extension for JupyterHub. The main component is a spawner that allows you to spawn custom docker images.

Checkout the ROADMAP to see where we are going and how to get involved with the project.

See this blog post for more information about what everware is and how it can be useful.

The idea for everware originated at the CERN Webfest 2015. The original everware team consists of @OmeGak, @ibab, @ndawe, @betatim, @uzzielperez, @anaderi, and @AxelVoitier.

Documentation

We have some documentation on the different ways to use everware and getting started.

Try it out

In order to deploy your own everware instance, you have to:

  • install nodejs and npm (platform-specific)
  • create and activate a conda environment with python 3.5(or 3.6.0)
    conda create -n everware python=3.5
    source activate everware
  • Clone this repo and install everware
    git clone https://github.com/everware/everware
    cd everware
    make install
  • Create a Github OAuth application with URL http://localhost:8000/ and callback URL http://localhost:8000/hub/oauth_callback

  • Enter you OAuth information into env.sh and source env.sh. You will have to set these environment variables every time before running everware

  • If you are on Mac OS make sure the VM in which docker runs is started (docker-machine start <vm-name>) and your environment is setup properly (docker-machine env <vm-name>). Start everware with:

    everware-server -f etc/local_dockermachine_config.py --debug --no-ssl
  • If you are on Linux make sure dockerd is running, your user is in docker group and your environment contains the required information (DOCKER_HOST is set, etc). Then start everware with
    everware-server -f etc/local_config.py --debug --no-ssl

Everware can also be deployed in a Docker container. See Everware in Docker container

Development

Follow the instructions for deploying your own everware instance. In addition to run our tests you will need selenium and firefox. On OS X you can install selenium with:

brew install selenium-server-standalone

Note: if you are not starting from an environment that already contains dockerspawner make sure it is updated to the right commit. pip will be satisfied if it is installed which might leave you with an old version.

More information

Slides (2016-10): https://speakerdeck.com/anaderi/everware-toolkit-supporting-reproducible-science-and-challenge-driven-education

Paper (2017-02): https://arxiv.org/abs/1703.01200