From 8bfbf933296d20662b3287f21c240be290cc996f Mon Sep 17 00:00:00 2001 From: Marco Malavolti <marco.malavolti@garr.it> Date: Thu, 27 Jul 2023 18:07:14 +0200 Subject: [PATCH] First steps towards Docker version of ECCS --- Dockerfile | 56 ++++++++++++++++++++++++++++++++++++++++++++ amazon-corretto.list | 2 ++ 2 files changed, 58 insertions(+) create mode 100644 Dockerfile create mode 100644 amazon-corretto.list diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..e21216b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,56 @@ +FROM debian:12 +LABEL Authors="Marco Malavolti <marco.malavolti@garr.it>" + +USER root +ENV DEBIAN_FRONTEND=noninteractive +ENV ECCS_VERSION=2.1.0 +ENV XMLSECTOOL_VERSION=3.0.0 +ENV JAVA_HOME=/usr/lib/jvm/java-11-amazon-corretto + +COPY --from=hairyhenderson/gomplate:v3.11.5 /gomplate /bin/gomplate + +RUN apt-get update \ + && apt-get install --no-install-recommends -y apt-utils vim git bash-completion ca-certificates curl unzip uwsgi cron gpg gpg-agent \ + python3 python3-pip python3-click python3-flask python3-flask-restful python3-requests python3-selenium python3-urllib3 \ + #&& cp /etc/apt/sources.list /etc/apt/sources.list.d/sources-src.list \ + && sed -i -e 's/"syntax on/syntax on/g' /etc/vim/vimrc \ + && printf "\nif [ -f /etc/bash_completion ]; then\n . /etc/bash_completion\nfi" >> /etc/profile + +# Get ECCS +WORKDIR /root +RUN curl "https://gitlab.software.geant.org/edugain/eccs/-/archive/v$ECCS_VERSION/eccs-v$ECCS_VERSION.tar.gz" --output eccs-v$ECCS_VERSION.tar.gz +RUN tar xzf eccs-v$ECCS_VERSION.tar.gz && rm eccs-v$ECCS_VERSION.tar.gz +RUN mv eccs-v$ECCS_VERSION eccs + +# Get Google Chrome & Google Chrome Driver +WORKDIR eccs +RUN curl "https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb" --output google-chrome-stable_current_amd64.deb +RUN apt install -y ./google-chrome-stable_current_amd64.deb --no-install-recommends +RUN curl "https://edgedl.me.gvt1.com/edgedl/chrome/chrome-for-testing/115.0.5790.110/linux64/chromedriver-linux64.zip" --output chromedriver_linux64.zip +RUN unzip chromedriver_linux64.zip +RUN rm chromedriver_linux64.zip google-chrome-stable_current_amd64.deb +RUN cd /root + +# Get XMLSecTool +RUN wget "https://corretto.aws/downloads/resources/11.0.6.10.1/B04F24E3.pub" -O /tmp/amazon-corretto.pub \ + && gpg --no-default-keyring --keyring /tmp/temp-keyring.gpg --import /tmp/amazon-corretto.pub \ + && gpg --no-default-keyring --keyring /tmp/temp-keyring.gpg --export --output /etc/apt/keyrings/amazon-corretto.gpg \ + && rm /tmp/temp-keyring.gpg + +COPY amazon-corretto.list /etc/apt/sources.list.d/amazon-corretto.list +RUN apt-get update && apt-get install -y java-11-amazon-corretto-jdk + +RUN curl "https://shibboleth.net/downloads/tools/xmlsectool/$XMLSECTOOL_VERSION/xmlsectool-$XMLSECTOOL_VERSION-bin.zip" --output xmlsectool-$XMLSECTOOL_VERSION-bin.zip +RUN unzip xmlsectool-$XMLSECTOOL_VERSION-bin.zip + +COPY eccs_properties.py.template eccs_properties.py + +EXPOSE 80 +EXPOSE 443 + +CMD tail -f /dev/null + +##COPY start-dev.sh /start.sh +#COPY start.sh /start.sh +#RUN chmod +x /start.sh +#CMD /start.sh diff --git a/amazon-corretto.list b/amazon-corretto.list new file mode 100644 index 0000000..6de8893 --- /dev/null +++ b/amazon-corretto.list @@ -0,0 +1,2 @@ +deb [signed-by=/etc/apt/keyrings/amazon-corretto.gpg] https://apt.corretto.aws stable main +# deb-src [signed-by=/etc/apt/keyrings/amazon-corretto.gpg] https://apt.corretto.aws stable main -- GitLab