Repo2docker rstudio

I’m seeing a successful build and the jupyter notebook browser coming up. Choosing “Rstudio” sends me to the rstudio URL. But then I see a spinning wheel for a while then an error dialog box says “Rstudio Initialization Error: Unable to connect to service”. Intriguingly the R studio logo comes up in the URL bar, but clicking “Ok” just leaves a grey screen.

This happens on each repo I’ve tried, here’s a minimal test repo that shows this behavior for me (Mac OS 10.3, python3 via homebrew, repo2docker installed from github archive.zip (repo2docker --version shows 0+unknown)

Are there any errors on the console? In particular can you retry it with the --user-id 1000 flag? I think a problem is that the user ID is too low/too high for R Studio to start. Though I thought we had fixed/disabled that check :-/

Are you on linux, osx or windows?

We need to fix the fact that repo2docker --version shows a unhelpful version when installed from an archive. Unfortunately it is “a bit tricky”, see this issue.


On a related note: we added the ability to use conda to install R packages a while back. This means installs are faster because the packages are binaries vs the install.R route where we have to compile everything from scratch. We haven’t “promoted” this way a lot but if you have a moment to experiment with/look at it https://github.com/betatim/r-conda we’d be interested in what you think.

Great. First the info I forgot: Mac OS 10.3.

$uname -v

Darwin Kernel Version 17.7.0: Fri Oct  4 23:08:59 PDT 2019; root:xnu-4570.71.57~1/RELEASE_X86_64

There were no console messages, other than the 302 (which i think is normal).


302 GET /?token=5d0aa175b9e1f5411e589790e5710543634fcb697fc4ed03 (172.17.0.1) 1.09ms

Yes, adding the --user-id worked, Rstudio came up and ran fine.


repo2docker --user-id 1000 .

Yes, binary R packages probably a good thing, one can always fall back to source builds.

–J

1 Like

Glad that fixed it :slight_smile:

In case you or people from the future are wondering why we don’t set the UID to 1000 by default. repo2docker offers the option to mount a local directory into your container (the --editable flag). For this it is useful that the user inside the container and on your laptop have the same user ID. This means by default we use your local user’s ID.

1 Like