Dockerfile19 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. #FROM tomcat:9-jdk17-temurin-jammy
  2. FROM tomcat:9-jdk11-temurin-jammy
  3. ARG USER_ID
  4. ARG GROUP_ID
  5. ARG TOMCAT_DIR
  6. RUN apt-get update && apt-get install -y sudo;
  7. RUN update-ca-certificates && \
  8. wget --no-parent https://download.java.net/java/GA/jdk13.0.1/cec27d702aa74d5a8630c65ae61e4305/9/GPL/openjdk-13.0.1_linux-x64_bin.tar.gz && \
  9. tar xvzf openjdk-13.0.1_linux-x64_bin.tar.gz -C /opt/java && \
  10. mv /opt/java/openjdk /opt/java/openjdk-11 && \
  11. ln -s /opt/java/jdk-13.0.1 /opt/java/openjdk
  12. RUN addgroup --gid ${GROUP_ID} labkey
  13. RUN adduser --gecos 'LabKey' --uid ${USER_ID} --gid ${GROUP_ID} --disabled-password labkey
  14. RUN echo 'labkey ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers
  15. RUN usermod -G root,sudo labkey
  16. USER labkey
  17. ARG RKEY=https://cloud.r-project.org/bin/linux/ubuntu/marutter_pubkey.asc
  18. ARG GPGKEY=/etc/apt/trusted.gpg.d/cran_ubuntu_key.asc
  19. RUN sudo apt-get update && sudo apt-get install -y \
  20. dirmngr \
  21. gnupg \
  22. apt-transport-https \
  23. ca-certificates \
  24. software-properties-common \
  25. && wget -qO- $RKEY | sudo tee -a $GPGKEY\
  26. && sudo add-apt-repository "deb https://cloud.r-project.org/bin/linux/ubuntu jammy-cran40/"\
  27. && sudo apt-get update --fix-missing\
  28. && sudo apt-get install -y r-base \
  29. && sudo apt-get install -y git \
  30. && sudo apt-get install -y libcurl4-openssl-dev libxml2-dev libssl-dev libfontconfig1-dev libharfbuzz-dev libfribidi-dev libtiff5-dev git \
  31. && sudo rm -rf /var/lib/apt/lists/*
  32. RUN sudo mkdir -p /data/labkey && \
  33. sudo chown -R labkey:labkey /data/labkey && \
  34. sudo chown -R labkey:labkey /usr/local/tomcat
  35. RUN mkdir -p /home/labkey/R/site-library &&\
  36. export R_LIBS=/home/labkey/R/site-library &&\
  37. echo ${R_LIBS} &&\
  38. R -e 'install.packages(c("devtools","ggplot2","Rlabkey","ggsurvfit","ggalluvial","gridExtra","comprehenr","ggsci","paletteer","tidyverse","swimplot","gtsummary"))'
  39. COPY SSL/CA* /usr/local/tomcat/temp/
  40. #OK for docker compose
  41. #RUN --mount=type=bind,src=${TOMCAT_DIR}/conf/SSL,dst=/mnt/SSL\
  42. # for f in /mnt/SSL/CA* ; do sudo cp $f /usr/local/share/ca-certificates/ ; done \
  43. # && sudo update-ca-certificates
  44. #
  45. RUN for f in /usr/local/tomcat/temp/CA* ; do sudo cp $f /usr/local/share/ca-certificates/ ; done \
  46. && sudo update-ca-certificates
  47. LABEL "name"="labkey19"