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
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.