1  Installation

The R Shiny application has numerous R dependencies that can be installed on your local machines. For facilitated deployment, a Git repository is available containing a Docker-based installation recipe.

quarto versioning

Please note that the current version of the application and associated reports are compatible with quarto 1.3.450. Ensure that you are using this version of Quarto to avoid any compatibility issues with the app and reports.

We recommend using Docker, following the deployment section provided below:

1.1 Docker

The current application is provided as a Dockerfile that could be launched on a cloud computing.

There are two stages, the base image creation and the application image creation. The base image freezes a Linux guest with R and all the packages required by the application. Packages installation is done once. It fasten the startup of an image for developing, but also for teaching.

1.1.1 Deployment (IFB example)

Login to IFB, select a Shiny Server Machine, then launch it with advanced options.

Set the following configuration:

APP_STACK
SHINY_REPO

The cloud computer starts and runs the Dockerfile recipe that is based on the analycyte_base image available on DockerHub. This process provides the application as a Web interface.

If you clone this repo, you can add packages to the guest using apt.txt and to the R installation using Install.R.

1.1.2 Development

Start analycyte with the base image and a port for shiny web service. The base image is run in interactive mode, otherwise a shiny server is executed (see the FROM item). The base image is pulled from DockerHub on the first run because it does not exist in the local host cache.

docker run -it -p 3838:3838 eugloh/analycyte_base bash

Then install the latest version of the analycyte packages.

R -e "
Sys.setenv(R_REMOTES_UPGRADE = 'never')  # do not update packages from CRAN
remotes::install_gitlab('lohmann/analycyte.projects', host = 'https://gitcrcm.marseille.inserm.fr')
remotes::install_gitlab('lohmann/analycyte.utils', host = 'https://gitcrcm.marseille.inserm.fr')
remotes::install_gitlab('lohmann/analycyte', host = 'https://gitcrcm.marseille.inserm.fr')
"

Finally, launch the shiny process (with a log file).

R -e "options('shiny.port'=3838,shiny.host='0.0.0.0');library(analycyte);analycyte::run_app()" 2>&1 | tee 3838.log

Once done, exit the guest.

exit  # or Ctrl-D