FROM rocker/shiny:4.5.1

RUN apt-get update && apt-get install -y \
    libxml2-dev libssl-dev libcurl4-openssl-dev \
    libharfbuzz-dev libfribidi-dev libfreetype6-dev \
    libpng-dev libtiff5-dev libjpeg-dev \
    && rm -rf /var/lib/apt/lists/*


RUN R -e "install.packages(c('shiny', 'shinydashboard', 'remotes'), repos='https://cran.rstudio.com/')"
COPY . /srv/shiny-server/
COPY set_path.R /usr/local/lib/R/etc/Rprofile.site.d/00-radiant-path.R

# 安装所有子模块
RUN R -e "remotes::install_local('/srv/shiny-server/radiant.data', type='source', upgrade='never')"
RUN R -e "remotes::install_local('/srv/shiny-server/radiant.basics', type='source', upgrade='never')"
RUN R -e "remotes::install_local('/srv/shiny-server/radiant.model', type='source', upgrade='never')"
RUN R -e "remotes::install_local('/srv/shiny-server/radiant.multivariate', type='source', upgrade='never')"
RUN R -e "remotes::install_local('/srv/shiny-server/radiant.design', type='source', upgrade='never')"
RUN R -e "remotes::install_local('/srv/shiny-server/radiant.quickgen', type='source', upgrade='never')"

# 安装主 radiant 应用
RUN R -e "remotes::install_local('/srv/shiny-server/radiant-master', type='source', upgrade='never')"

WORKDIR /data
CMD ["R", "-e", "radiant::radiant(host='0.0.0.0', port=3838)"]