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