analogsea
is an R client for version 2 of the Digital Ocean API. It allows you to programatically create and destroy droplets (remote computers), and install various R related tools: (these are still a work in progress):
- R (done)
- RStudio Server (done)
- RStudio Shiny Server (done)
- OpenCPU (not yet)
- Use packrat to move a project to a droplet (not yet)
Stable version from CRAN
install.packages("analogsea")
Development version from GitHub
devtools::install_github("sckott/analogsea")
library("analogsea")
If you don't already have one, create a DO account. By using this link, you'll start with $10 in credits (enough for >600 hours of computing on a 1 gb machine), and if you become a digital ocean customer we'll get some DO credits for us to offset our costs for testing. Thanks :)
The best way to authenticate is to generate a personal access token (https://cloud.digitalocean.com/settings/tokens/new) and save it in an environment variable called DO_PAT
. If you don't do this, you'll be prompted to authenticate in your browser the first time you use analogsea.
Make sure you provide digitial ocean your public key at https://cloud.digitalocean.com/ssh_keys. Github has some good advice on creating a new public key if you don't already have one: https://help.github.com/articles/generating-ssh-keys/.
All droplets
droplets()
<r> droplets()
$unintrenchable
<droplet>unintrenchable (2724525)
Status: off
Region: San Francisco 1
Image: Ubuntu 14.04 x64
Size: 512mb ($0.00744 / hr)
$basipterygium
<droplet>basipterygium (2724526)
Status: active
Region: San Francisco 1
Image: Ubuntu 14.04 x64
Size: 512mb ($0.00744 / hr)
A single droplet. Pass in a single droplet id.
droplet(2724525)
<droplet>unintrenchable (2724525)
Status: off
Region: San Francisco 1
Image: Ubuntu 14.04 x64
Size: 512mb ($0.00744 / hr)
To make this as dead simple as possible, you just use one function, without any parameters.
droplet_create()
Using default ssh key: Scott Chamberlain
NB: This costs $0.00744 / hour until you droplet_delete() it
<droplet>sabaoth (2727258)
Status: new
Region: San Francisco 1
Image: Ubuntu 14.04 x64
Size: 512mb ($0.00744 / hr)
You can of course pass in lots of options for name of the droplet, RAM size, disk size, ssh keys, etc. See regions()
and sizes()
to list available regions and sizes.
droplet_delete(1707487)
Most of the droplet_*
functions can be chained together using the %>%
function. For example, you can turn a droplet off, snapshot, and then turn it back on with:
d %>%
droplet_power_off() %>%
droplet_snapshot() %>%
droplet_power_on() %>%
We're still working on these, but would love feedback.
This requires a "docklet", a droplet with docker installed:
docklet_create() %>%
docklet_rstudio()
This will install R, RStudio Server and it's dependencies. It will automatically pop open the RStudio server instance in your default browser, with default username/password
of rstudio/rstudio
.
Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.