add_dockerfile | R Documentation |
Build a container containing your Shiny App. add_dockerfile()
and add_dockerfile_with_renv()
creates
a generic Dockerfile, while add_dockerfile_shinyproxy()
, add_dockerfile_with_renv_shinyproxy()
and
add_dockerfile_heroku()
creates platform specific Dockerfile.
add_dockerfile( path = "DESCRIPTION", output = "Dockerfile", pkg = get_golem_wd(), from = paste0("rocker/verse:", R.Version()$major, ".", R.Version()$minor), as = NULL, port = 80, host = "0.0.0.0", sysreqs = TRUE, repos = c(CRAN = "https://cran.rstudio.com/"), expand = FALSE, open = TRUE, update_tar_gz = TRUE, build_golem_from_source = TRUE, extra_sysreqs = NULL ) add_dockerfile_shinyproxy( path = "DESCRIPTION", output = "Dockerfile", pkg = get_golem_wd(), from = paste0("rocker/verse:", R.Version()$major, ".", R.Version()$minor), as = NULL, sysreqs = TRUE, repos = c(CRAN = "https://cran.rstudio.com/"), expand = FALSE, open = TRUE, update_tar_gz = TRUE, build_golem_from_source = TRUE, extra_sysreqs = NULL ) add_dockerfile_heroku( path = "DESCRIPTION", output = "Dockerfile", pkg = get_golem_wd(), from = paste0("rocker/verse:", R.Version()$major, ".", R.Version()$minor), as = NULL, sysreqs = TRUE, repos = c(CRAN = "https://cran.rstudio.com/"), expand = FALSE, open = TRUE, update_tar_gz = TRUE, build_golem_from_source = TRUE, extra_sysreqs = NULL ) add_dockerfile_with_renv( source_folder = ".", lockfile = NULL, output_dir = fs::path(tempdir(), "deploy"), distro = "focal", from = "rocker/verse", as = NULL, sysreqs = TRUE, port = 80, host = "0.0.0.0", repos = c(CRAN = "https://cran.rstudio.com/"), expand = FALSE, open = TRUE, extra_sysreqs = NULL, update_tar_gz = TRUE, dockerfile_cmd = NULL ) add_dockerfile_with_renv_shinyproxy( source_folder = ".", lockfile = NULL, output_dir = fs::path(tempdir(), "deploy"), distro = "focal", from = "rocker/verse", as = NULL, sysreqs = TRUE, repos = c(CRAN = "https://cran.rstudio.com/"), expand = FALSE, extra_sysreqs = NULL, open = TRUE, update_tar_gz = TRUE ) add_dockerfile_with_renv_heroku( source_folder = ".", lockfile = NULL, output_dir = fs::path(tempdir(), "deploy"), distro = "focal", from = "rocker/verse", as = NULL, sysreqs = TRUE, repos = c(CRAN = "https://cran.rstudio.com/"), expand = FALSE, extra_sysreqs = NULL, open = TRUE, update_tar_gz = TRUE )
path |
path to the DESCRIPTION file to use as an input. |
output |
name of the Dockerfile output. |
pkg |
Path to the root of the package. Default is |
from |
The FROM of the Dockerfile. Default is FROM rocker/verse without renv.lock file passed `R.Version()$major`.`R.Version()$minor` is used as tag |
as |
The AS of the Dockerfile. Default it NULL. |
port |
The |
host |
The |
sysreqs |
boolean. If TRUE, the Dockerfile will contain sysreq installation. |
repos |
character. The URL(s) of the repositories to use for |
expand |
boolean. If |
open |
boolean. Should the Dockerfile/README be open after creation? Default is |
update_tar_gz |
boolean. If |
build_golem_from_source |
boolean. If |
extra_sysreqs |
character vector. Extra debian system requirements. |
source_folder |
path to the Package/golem source folder to deploy. default is current folder '.' |
lockfile |
path to the renv.lock file to use. default is |
output_dir |
folder to export everything deployment related. |
distro |
One of "focal", "bionic", "xenial", "centos7", or "centos8". See available distributions at https://hub.docker.com/r/rstudio/r-base/. |
dockerfile_cmd |
What is the CMD to add to the Dockerfile. If NULL, the default,
the CMD will be |
The {dockerfiler}
object, invisibly.
# Add a standard Dockerfile if (interactive() & requireNamespace("dockerfiler")) { add_dockerfile() } # Crete a 'deploy' folder containing everything needed to deploy # the golem using docker based on {renv} if (interactive() & requireNamespace("dockerfiler")) { add_dockerfile_with_renv( # lockfile = "renv.lock", # uncomment to use existing renv.lock file output_dir = "deploy" ) } # Add a Dockerfile for ShinyProxy if (interactive() & requireNamespace("dockerfiler")) { add_dockerfile_shinyproxy() } # Crete a 'deploy' folder containing everything needed to deploy # the golem with ShinyProxy using docker based on {renv} if (interactive() & requireNamespace("dockerfiler")) { add_dockerfile_with_renv( # lockfile = "renv.lock",# uncomment to use existing renv.lock file output_dir = "deploy" ) } # Add a Dockerfile for Heroku if (interactive() & requireNamespace("dockerfiler")) { add_dockerfile_heroku() }
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.