Deploy
_server.ymlCompliant Applications to DigitalOcean
buoyant is an R package for deploying web server
applications that follow the _server.yml
standard to DigitalOcean. This standard provides a unified way to
specify and deploy R web servers regardless of the underlying framework
(plumber2, fiery, etc.).
You can install the development version of buoyant from GitHub with:
# install.packages("pak")
pak::pak("posit-dev/buoyant")library(buoyant)
library(analogsea)
# Authenticate with DigitalOcean
do_oauth()
# Provision a new server
droplet <- do_provision(region = "sfo3")
# Deploy your application
do_deploy_server(
droplet = droplet,
path = "myapp",
local_path = "path/to/my-api",
port = 8000
)
# Get the URL
do_ip(droplet, "/myapp")_server.yml
StandardThe _server.yml standard is a lightweight specification
for R web servers. At minimum, you need an engine
field:
engine: plumber2Each engine package (like plumber2 or
fiery) can define additional fields. The engine R package
must provide a
launch_server(settings, host = NULL, port = NULL, ...)
function.
_server.yml-compliant enginedo_deploy_server()do_configure_https()validate_server_yml()The following R packages support the _server.yml
standard:
To make your own package compatible, see the _server.yml specification.
This package is inspired by plumberDeploy by
Bruno Tremblay and Jeff Allen. The _server.yml standard was
developed as part of the plumber2 project.