Skip to content

o2r-project/nbo2rproxy

Repository files navigation

nbo2rproxy

Goal

Run a small HTML app that starts a container within the Jupyter instance. The nested container is started via Dockerode from a Node.js app - just like the o2r reference implementation.

The realisation is modelled after nbstencilaproxy.

The first step is to only use start and postBuild scripts, leaving many bits hard-coded.

Try it

You need a repo2docker fork that allows execution as root user, see https://github.com/o2r-project/repo2docker/tree/allow_root

repo2docker --debug --volume=/var/run/docker.sock:/var/run/docker.sock --env ERC_PATH=$(pwd)/erc --user-id=0 --user-name=root .

Then open the UI at /o2r-ui or via the "New > ERC" menu, or inspect the API at /o2r-api/v1/status.

You can query the API directly if you provide the token and adjust the port:

curl http://127.0.0.1:53889/o2r-api/v1/status/?token=2d77384eb9cbb8190b06709cc790b0bf441de3b25ec6ffee

Open questions

  • How can the volume mount of the ERC be automated?
  • Is this really feasible, given that I trust the users who are allowed to open a repository on Binder (i.e. I know who they are, and normally I control the repository content, too)?
  • What changes need to be made to this kind of repository and image to work on JupyterHub?

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages