You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
jupyter-rsession-proxy provides Jupyter server and notebook extensions to proxy RStudio.
If you have a JupyterHub deployment, jupyter-rsession-proxy 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.
This extension used to proxy Shiny server as well, however that functionality has been separated.
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.
rocker/binder contains an example installation which you can run on binder.
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.
Configuration with Environment Variables
The following behavior can be configured with environment variables
Environment Variable
Effect
Default Value
Notes
JUPYTER_RSESSION_PROXY_USE_SOCKET
Use unix sockets instead of TCP sockets
no
Anything other than case insensitive no or false will use unix socket
JUPYTER_RSESSION_PROXY_WWW_FRAME_ORIGIN
The value of the www-frame-origin flag to rserver
same
RSERVER_TIMEOUT
Idle timeout flag to rserver in minutes
15
Must be numeric and positive
RSESSION_TIMEOUT
Idle timeout flag to rsession in minutes
15
Must be numeric and positive
NB_USER
Fallback name of the Notebook user, if password database lookup fails
getuser.getpass()
About
Jupyter extensions for running an RStudio rsession proxy