knitr::opts_chunk$set( collapse = TRUE, comment = "#>", eval = FALSE )
run_app()
functionWhen launching the app, you might have noticed that the dev/run_dev.R
function calls run_app()
, which has the following structure:
run_app <- function(...) { with_golem_options( app = shinyApp( ui = app_ui, server = app_server ), golem_opts = list(...) ) }
This function might looks a little bit weird, but there's a long story behind it, and you can read more about it there.
But long story short, this combination of with_golem_options
& golem_opts = list(...)
allows you to pass argument to the function to be used inside the application, from UI or from server side, which you can get with get_golem_options()
.
run_app(this = "that") # And in the app this <- get_golem_options("this")
The idea is to provide more flexibility for deployment on each platform you want to run your app on.
{golem}
The dev/03_deploy.R
file contains function for deploying on various platforms.
golem::add_rstudioconnect_file() golem::add_shinyappsio_file() golem::add_shinyserver_file()
# If you want to deploy via a generic Dockerfile golem::add_dockerfile() # If you want to deploy to ShinyProxy golem::add_dockerfile_shinyproxy() # If you want to deploy to Heroku golem::add_dockerfile_heroku()
this functions will create a "deploy" folder containing :
deploy/ +-- Dockerfile +-- Dockerfile_base +-- yourgolem_0.0.0.9000.tar.gz +-- README \-- renv.lock.prod
then follow the README file
# If you want to deploy via a generic Dockerfile golem::add_dockerfile_with_renv(output_dir = "deploy") # If you want to deploy to ShinyProxy golem::add_dockerfile_with_renv_shinyproxy(output_dir = "deploy")
If you would like to use {renv} during developpement, you can init a renv.lock file with
attachment::create_renv_for_dev(dev_pkg = c( "renv", "devtools", "roxygen2", "usethis", "pkgload", "testthat", "remotes", "covr", "attachment", "pak", "dockerfiler", "golem" ))
an activate {renv} with
renv::activate()
# If you want to deploy via a generic Dockerfile golem::add_dockerfile_with_renv(output_dir = "deploy", lockfile = "renv.lock") # If you want to deploy to ShinyProxy golem::add_dockerfile_with_renv_shinyproxy(output_dir = "deploy", lockfile = "renv.lock")
this functions will create a "deploy" folder containing :
deploy/ +-- Dockerfile +-- Dockerfile_base +-- yourgolem_0.0.0.9000.tar.gz +-- README \-- renv.lock.prod
then follow the README file
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.