pachadotdev / analogsea

Digital Ocean R client
https://pacha.dev/analogsea/
Apache License 2.0
155 stars 24 forks source link

Add function to launch an rstudio server instance using docker #24

Closed cboettig closed 10 years ago

cboettig commented 10 years ago

Hey @sckott ,

This adds a function rstudio based on do_install that installs rstudio server using a docker image. In my tests it works, though it requires you to enter the password a few times. (do_install looks like it might need some fixing since the location of the status and ip have moved in the droplets() return object).

This configures swap appropriately too so it should work on the smallest droplets. The default is a basic docker image providing rstudio, but the user can specify an alternate image (like cboettig/ropensci, which has more stuff pre-installed that would otherwise be slow to compile). In principle this should be easier to maintain.

One thing I noticed is that if a user hasn't already logged on and changed the password from the emailed one, the interface for updating the password doesn't work in R. (Presumably that affects do_install too). That's kinda a nuisance since it means you have to know how to ssh from the command-line.

sckott commented 10 years ago

thanks @cboettig ! Merging, but may adjust where this lives, see next comment

This looks great. I have been so far putting all install options (R, Rstudio, Shiny, etc.) into one function do_install(), but perhaps that's not the right approach. Thoughts?

Regarding your comment about passwords opened up a new issue #26 to discuss this since it's somehwat involved

cboettig commented 10 years ago

Yeah, feel free to move this about, I'm not sure where it should live. I think a single install function makes sense, so down the road this might be better as sub-routine of do_install than as it's own function.

I've been trying to find the right level of granularity for install for the docker images, which I think is related to your question here. For instance, the basic Rstudio install doesn't include pandoc or particularly the rather heavy latex environment needed for pdfs. Also, an RStudio user won't be able to install quite a few commonly used R packages (e.g. XML, or the SQL packages that integrate into dplyr) that need external libraries (some packages may need more install tools as well). My intuition is that most users would rather have stuff installed that they don't need than have stuff not work, so I've opted for two docker images so far ("rstudio" with just minimal stuff for rstudio to run, and 'ropensci' with a fuller set of packages, latex, compilers/development environment). I probably need to tune these images a bit more anyway (e.g. add shiny).

On Sun, Aug 31, 2014 at 11:24 PM, Scott Chamberlain < notifications@github.com> wrote:

Merged #24 https://github.com/sckott/analogsea/pull/24.

— Reply to this email directly or view it on GitHub https://github.com/sckott/analogsea/pull/24#event-159495504.

Carl Boettiger UC Santa Cruz http://carlboettiger.info/

sckott commented 10 years ago

Cool, i think at this point makes sense to move into do_install(), probably will do so soon

I like your two separate docker images, one for basic stuff, and one for more stuff. Right, I'd rather it take a bit longer and have less stuff not work instead of a bit faster and have to install more deps.