P-Tech/ReinforcementLearning
1
1# Use R Shiny image2FROM rocker/shiny:latest3 4# Install necessary Linux dependencies5# CMake and libnlopt-dev added for nloptr6RUN apt-get update && apt-get install -y \7 libcurl4-gnutls-dev \8 libssl-dev \9 libxml2-dev \10 libudunits2-dev \11 libgdal-dev \12 libcairo2-dev \13 libxt-dev \14 libpq-dev \15 libssh2-1-dev \16 libharfbuzz-dev \17 libfribidi-dev \18 libgsl0-dev \19 cmake \20 libnlopt-dev \21 libglpk-dev 22 23# Clean up the apt cache to reduce the image size24RUN apt-get clean && \25 rm -rf /var/lib/apt/lists/*26 27# Copy your application files28COPY . /usr/src/app29 30RUN chown -R shiny:shiny /usr/src/app31 32# Set the working directory33WORKDIR /usr/src/app34 35# Install renv and restore packages36RUN Rscript -e 'install.packages("renv")'37RUN Rscript -e 'renv::restore()'38 39# Expose the port the app runs on40EXPOSE 786041 42CMD ["R", "--quiet", "-e", "shiny::runApp(host='0.0.0.0', port=7860)"]43 