R
This page covers the requirements and internals of deploying R content to ricochet.
Project requirements
Section titled “Project requirements”Every R deployment requires a renv.lock file in the project root.
This lockfile is generated by {renv} and records all package dependencies and their versions.
Example _ricochet.toml
Section titled “Example _ricochet.toml”[content]name = "My Shiny App"entrypoint = "app.R"access_type = "external"content_type = "shiny"
[language]name = "r"packages = "renv.lock"
[serve]min_instances = 0max_instances = 5Supported content types
Section titled “Supported content types”R content items can be deployed as apps or tasks.
Content Type | Description |
|---|---|
plumber | An API developed using {plumber}. |
ambiorix | An API or web app developed using {ambiorix}. |
shiny | A web app developed using {shiny}. |
rmd-shiny | An R Markdown document using a Shiny runtime. |
quarto-r-shiny | A Quarto document using a Shiny runtime. |
serverless-r | R functions deployed as an API. |
r-service | A generic web app or API using an R runtime. |
Content Type | Description |
|---|---|
r | An R script with the extension .R or .r. |
rmd | An R Markdown document. Can be served as a static site. |
quarto-r | A Quarto document using an R runtime. Can be served as a static site. |
How ricochet runs R content
Section titled “How ricochet runs R content”R version discovery
Section titled “R version discovery”Ricochet discovers R installations on the host machine.
We recommend installing R versions via rig for the best experience managing multiple versions:
rig add <version>You can also install R from CRAN or your distribution’s package manager.
Environment restoration
Section titled “Environment restoration”Ricochet vendors renv at $RICOCHET_HOME/vendor.
When a bundle is deployed, ricochet restores R package dependencies from the renv.lock file using the vendored renv.