Skip to content

Deploying shiny apps to container as a service (CaaS) products on public cloud vendors.

License

Notifications You must be signed in to change notification settings

maxheld83/shinycaas

Repository files navigation

shinycaas

Main Codecov test coverage CRAN status Lifecycle: experimental

The goal of shinycaas is to make it easy to deploy shiny apps to Container-as-a-Service (CaaS) products in the public cloud.

Limitations of shinyapps.io

  • No reproducible environment. Deployment to shinyapps.io happens via rsconnect::deployApp(), which in turn relies on some dark {packrat}/{renv} magic. The compute environment on shinyapps.io is somewhat undocumented / irreproducible (which R version? which ubuntu? which dependencies?), and rsconnect::deployApp() kind of throws out all the work we've put into our reproducible environment.
  • There is no good way to use/store secrets in shinyapps.io (such as for using some API), i.e. no facility to store encrypted secrets, as is common for other PaaS products. The only way would be to include secrets in plain the source code. The code should, in principle, be available only to us (= people with privileges on shinyapps.io), but is in general not recommended to store secrets in unencrypted form.)