Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jupyterhub/jupyter-rsession-proxy
Jupyter extensions for running an RStudio rsession proxy
https://github.com/jupyterhub/jupyter-rsession-proxy
jupyter jupyter-server-proxy jupyterhub r rstudio-rsession
Last synced: 7 days ago
JSON representation
Jupyter extensions for running an RStudio rsession proxy
- Host: GitHub
- URL: https://github.com/jupyterhub/jupyter-rsession-proxy
- Owner: jupyterhub
- License: bsd-3-clause
- Created: 2016-12-09T06:26:18.000Z (about 8 years ago)
- Default Branch: main
- Last Pushed: 2024-10-21T17:24:56.000Z (about 2 months ago)
- Last Synced: 2024-11-15T05:19:07.375Z (28 days ago)
- Topics: jupyter, jupyter-server-proxy, jupyterhub, r, rstudio-rsession
- Language: Python
- Homepage:
- Size: 170 KB
- Stars: 119
- Watchers: 12
- Forks: 87
- Open Issues: 40
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
- awesome-jupyter-resources - GitHub - 36% open · ⏱️ 16.06.2022): (Jupyter拓展)
- best-of-jupyter - GitHub - 44% open · ⏱️ 21.10.2024): (Jupyter Extensions)
README
# jupyter-rsession-proxy
[![TravisCI build status](https://img.shields.io/travis/com/jupyterhub/jupyter-rsession-proxy?logo=travis)](https://travis-ci.com/jupyterhub/jupyter-rsession-proxy)
**jupyter-rsession-proxy** provides Jupyter server and notebook extensions to proxy RStudio.
![Screenshot](screenshot.png)
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](https://rstudio.com/products/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](https://github.com/ryanlovett/jupyter-shiny-proxy).
## Installation
### Pre-reqs
#### Install rstudio
Use conda `conda install rstudio` or [download](https://www.rstudio.com/products/rstudio/download-server/) the corresponding package for your platformNote that rstudio server is needed to work with this extension.
### Install jupyter-rsession-proxy
Install the library via `pip`:
```
pip install jupyter-rsession-proxy
```
Or via `conda`:
```
conda install -c conda-forge jupyter-rsession-proxy
```## Example
[rocker/binder](https://hub.docker.com/r/rocker/binder) contains an example installation which you can run on binder.
[![Launch binder](https://mybinder.org/badge_logo.svg)](https://mybinder.org/v2/gh/rocker-org/binder/master?urlpath=rstudio)
### 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_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()` ||