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.
We have some documentation on the different ways to use everware
and
getting
started.
In order to deploy your own everware
instance, you have to:
- install
nodejs
andnpm
(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 URLhttp://localhost:8000/hub/oauth_callback
-
Enter you OAuth information into
env.sh
andsource env.sh
. You will have to set these environment variables every time before runningeverware
-
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>
). Starteverware
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 starteverware
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
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.
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