Jupyter extensions for running an RStudio rsession proxy
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
jupyterlab-rsessionproxy remove duplicate lines from merge Oct 18, 2018
nbrsessionproxy
.gitignore Add .gitignore. Dec 10, 2016
.travis.yml
CONTRIBUTING.md Create CONTRIBUTING.md Aug 4, 2017
Dockerfile Add missing psmisc and libssl dependencies Sep 5, 2018
LICENSE
LICENSE.txt adding license Aug 26, 2017
README.md
screenshot.png Add screenshot. Dec 10, 2016
setup.py Bump version Dec 10, 2018

README.md

nbrsessionproxy

nbrsessionproxy provides Jupyter server and notebook extensions to proxy RStudio.

Screenshot

If you have a JupyterHub deployment, nbrsessionproxy can take advantage of JupyterHub's existing authenticator and spawner to launch RStudio in users' Jupyter environments. You can also run this from within Jupyter. Note that RStudio Server Pro has more featureful authentication and spawning than the standard version, in the event that you do not want to use Jupyter's.

Installation

Pre-reqs

Install rstudio

Use conda conda install rstudio or download the corresponding package for your platform

Note that rstudio server is needed to work with this extension.

Install nbrsessionproxy

Install the library:

pip install nbrsessionproxy

or

conda install -c conda-forge nbrsessionproxy

If installing via pip, you need to enable the extension.

jupyter serverextension enable  --py --sys-prefix nbrsessionproxy
jupyter nbextension     install --py --sys-prefix nbrsessionproxy
jupyter nbextension     enable  --py --sys-prefix nbrsessionproxy

For JupyterLab first clone this repository to a known location and install from the directory.

git clone https://github.com/jupyterhub/nbrsessionproxy /opt/nbrsessionproxy
pip install -e /opt/nbrsessionproxy
jupyter serverextension enable --py nbrsessionproxy
jupyter labextension link /opt/nbrsessionproxy/jupyterlab-rsessionproxy

The Dockerfile contains an example installation on top of jupyter/r-notebook.

Multiuser Considerations

This extension launches an rstudio server process from the jupyter notebook server. This is fine in JupyterHub deployments where user servers are containerized since other users cannot connect to the rstudio server port. In non-containerized JupyterHub deployments, for example on multiuser systems running LocalSpawner or BatchSpawner, this not secure. Any user may connect to rstudio server and run arbitrary code.

Additionally, rstudio-server expects to write to /tmp/rstudio-server/secure-cookie-key, which means without separate mount namespaces for /tmp, only one user can run rstudio server at a time.