{"id":2189,"date":"2022-09-01T14:06:13","date_gmt":"2022-09-01T06:06:13","guid":{"rendered":"https:\/\/www.ticoneva.com\/journal\/?p=2189"},"modified":"2022-09-01T14:22:24","modified_gmt":"2022-09-01T06:22:24","slug":"running-multiple-versions-of-rstudio-on-jupyter","status":"publish","type":"post","link":"https:\/\/www.ticoneva.com\/journal\/?p=2189","title":{"rendered":"Running Multiple RStudio Environments on Jupyter"},"content":{"rendered":"\n<p>Running RStudio within Jupyter has been possible for quite some time with <code><a href=\"https:\/\/github.com\/scrp-cuhk\/jupyter-rsession-proxy\" data-type=\"URL\" data-id=\"https:\/\/github.com\/scrp-cuhk\/jupyter-rsession-proxy\">jupyter-server-proxy<\/a><\/code>. Doing so has its benefits, notably the ability to leverage JupyterHub&#8217;s <code><a href=\"https:\/\/github.com\/jupyterhub\/systemdspawner\/pulls\" data-type=\"URL\" data-id=\"https:\/\/github.com\/jupyterhub\/systemdspawner\/pulls\">systemdspawner<\/a><\/code> to control the amount of resources users can use, a feature that is not available in the free version of RStudio.<\/p>\n\n\n\n<p>It would have been nice to have the ability to choose between different R versions, which is another feature that is only available in the paid version of RStudio. Because <code>jupyter-server-proxy<\/code> relies on iterating through entry points in each proxy package, the only way to enable that right now is to modify <code>jupyter-ression-proxy<\/code> itself.<\/p>\n\n\n\n<p>This is where our <a href=\"https:\/\/github.com\/jupyterhub\/jupyter-rsession-proxy\/pull\/133\">#PR133<\/a> comes in. By allowing <code>setup_rserver<\/code> to receive a custom name and a configuration file as arguments, all it takes to add additional R versions on Jupyter is to create a new skeleton package that imports jupyter-ression-proxy:setup_rserver and<br>has additional entry points for jupyter_serverproxy_servers.<\/p>\n\n\n\n<p>Here is a <a href=\"https:\/\/github.com\/scrp-cuhk\/jupyter-rsession-proxy-multi\" data-type=\"URL\" data-id=\"https:\/\/github.com\/scrp-cuhk\/jupyter-rsession-proxy-multi\">working example<\/a> we currently use on our HPC cluster.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Running RStudio within Jupyter has been possible for quite some time with jupyter-server-proxy. Doing so has its benefits, notably the ability to leverage JupyterHub&#8217;s systemdspawner to control the amount of resources users can use, a feature that is not available in the free version of RStudio. It would have been nice to have the ability [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,7],"tags":[],"class_list":["post-2189","post","type-post","status-publish","format-standard","hentry","category-general","category-tech-zone"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=\/wp\/v2\/posts\/2189","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2189"}],"version-history":[{"count":8,"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=\/wp\/v2\/posts\/2189\/revisions"}],"predecessor-version":[{"id":2198,"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=\/wp\/v2\/posts\/2189\/revisions\/2198"}],"wp:attachment":[{"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2189"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2189"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.ticoneva.com\/journal\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2189"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}