# Base image https://hub.docker.com/u/rocker/ FROM rocker/shiny:latest # system libraries of general use ## install debian packages RUN apt-get update -qq && apt-get -y --no-install-recommends install \ libxml2-dev \ libcairo2-dev \ libsqlite3-dev \ libmariadbd-dev \ libpq-dev \ libssh2-1-dev \ unixodbc-dev \ libcurl4-openssl-dev \ libssl-dev ## update system libraries RUN apt-get update && \ apt-get upgrade -y && \ apt-get clean # copy necessary files ## app folder COPY /example-app ./app ## renv.lock file COPY /example-app/renv.lock ./renv.lock # install renv & restore packages RUN Rscript -e 'install.packages("renv")' RUN Rscript -e 'renv::restore()' # expose port EXPOSE 3838 # run app on container start CMD ["R", "-e", "shiny::runApp('/app', host = '0.0.0.0', port = 3838)"]