Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add RStudio to the base image #64

Merged
merged 2 commits into from
May 22, 2021
Merged

Conversation

yuvipanda
Copy link
Collaborator

@yuvipanda yuvipanda commented May 22, 2021

Uses github.com/jupyterhub/jupyter-rsession-proxy/ to provide
RStudio :)

You can test this with:

$ docker build -t paws images/singleuser
$ docker run -p 8888:8888 paws jupyter notebook --ip=0.0.0.0

This should start a notebook server, and print a URL with a token
you can use to connect to the docker container & test the image.
Since this uses port forwarding, it'll most likely only work if you
are running docker locally (and not via docker-machine)

You can open RStudio by going to 'New -> RStudio'

Depends on #62

- Bump to Ubuntu 20.04. This brings in lots of newer packages,
  but particularly Python 3.8 (https://phabricator.wikimedia.org/T265957).
  Many new packages are 3.7+ only.
- Use upstream R deb packages (https://cran.r-project.org/bin/linux/ubuntu/),
  than those from Ubuntu. This is maintained by the same folks who
  do R in debian. This brings us R 4.x (https://phabricator.wikimedia.org/T268923),
  but more importantly enables binary package installation.
- Use packagemanager.rstudio.com to install R packages. This is a
  huge benefit - it can install any version of packges, and it has
  binary package builds for most of them! These binary packages are
  built against focal + the upstream R debs. See announcement info
  here: https://blog.rstudio.com/2020/07/01/announcing-public-package-manager/.
  This reduces the user image build time a *lot*
- Put R packages in /srv/r, to match /srv/paws for our venv. Users
  can more easily install R packages temporarily now, and we don't
  mess with things under `/usr`. It also simplifies our Dockerfile,
  reducing number of times we have to switch to root.
- Redirect most stdout from apt-get to /dev/null. We still get stderr,
  so no real functionality lost.
- Remove some explicit nbextension enable / install commands. These are
  no longer necessary.
- Specify a loose pin for notebook & jupyterlab versions.
Uses github.com/jupyterhub/jupyter-rsession-proxy/ to provide
RStudio :)

You can test this with:

$ docker build -t paws images/singleuser
$ docker run -p 8888:8888 paws jupyter notebook --ip=0.0.0.0

This should start a notebook server, and print a URL with a token
you can use to connect to the docker container & test the image.
Since this uses port forwarding, it'll most likely only work if you
are running docker locally (and not via docker-machine)
@yuvipanda yuvipanda requested review from crookedstorm and chicocvenancio and removed request for crookedstorm May 22, 2021 15:06
@chicocvenancio chicocvenancio merged commit 9e2fdaf into toolforge:master May 22, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants