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 look 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 arguments 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 functions for deployment on various platforms.
golem::add_positconnect_file() golem::add_shinyappsio_file() golem::add_shinyserver_file()
For Git backed deployment on Posit (for details
a manifest.json
file is required which can be added (or updated) via:
rsconnect::writeManifest()
{renv}
# 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()
{renv}
- CASE 1 : you didn't use renv during development processthis 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 development, 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" ))
and activate {renv}
with
renv::activate()
{renv}
- CASE 2: you already have a renv.lock
file for your project# 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.