To publish a R shiny application on the SESYNC server, your files will need to be copied from your working directory to the shiny-apps-data shared folder (/nfs/shiny-apps-data on RStudio Server). Please contact SESYNC IT staff if you would like to host an app on SESYNC’s Shiny Server for the duration of your project’s lifecycle.
To sync changes to the application between your working directory (which we will call the development version of the app) and shiny-apps-data (the published version), it is recommended that you use GitLab. Here are the basic steps:
To make sure all packages your application needs are installed on the SESYNC shiny server, please follow these steps.
username/repo
# List the package and version as below
dependencies <- read.csv(textConnection("
Package, Min.Version, repo
dplyr, 0.5.0,
raster, 2.5.8,
leaflet, 2.0.0.9000, rstudio/leaflet
ggplot2, 2.0.1,
"), stringsAsFactors = FALSE, strip.white = TRUE)
## No changes necessary below. ##
# Import installed package versions
pkgs <- installed.packages()
rownames(pkgs) <- c()
pkgs <- data.frame(pkgs, stringsAsFactors = FALSE)
# Compare requirements to installed packages
pkgs <- merge(dependencies, pkgs, by="Package", all.x=TRUE)
# Filter out packages meeting minimum version requirement
pkgs <- pkgs[mapply(compareVersion, pkgs$Min.Version, pkgs$Version) > 0, ]
# Install missing and newer packages
cran <- pkgs[is.na(pkgs$repo), ]
lapply(cran$Package, install.packages)
github <- pkgs[!is.na(pkgs$repo), ]
lapply(github$repo, devtools::install_github)
# Require dependencies [optional]
lapply(dependencies$Package, require, character.only=TRUE)
2. Add “source(dependencies.R)” to the top of your app.R single-file Shiny script.