Permalink
Name already in use
A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
grouper/Dockerfile
Go to fileThis commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
124 lines (111 sloc)
6 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
FROM centos:centos7 as installing | |
RUN yum update -y \ | |
&& yum install -y wget tar unzip dos2unix patch \ | |
&& yum clean all | |
RUN yum install -y wget tar unzip dos2unix patch | |
ARG GROUPER_CONTAINER_VERSION | |
ENV GROUPER_VERSION=2.5.51 \ | |
GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION | |
# Install Corretto Java JDK | |
#Corretto download page: https://docs.aws.amazon.com/corretto/latest/corretto-8-ug/downloads-list.html | |
ARG CORRETTO_URL_PERM=https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.rpm | |
ARG CORRETTO_RPM=amazon-corretto-8-x64-linux-jdk.rpm | |
COPY container_files/java-corretto/corretto-signing-key.pub . | |
RUN curl -O -L $CORRETTO_URL_PERM \ | |
&& rpm --import corretto-signing-key.pub \ | |
&& rpm -K $CORRETTO_RPM \ | |
&& rpm -i $CORRETTO_RPM \ | |
&& rm -r corretto-signing-key.pub $CORRETTO_RPM | |
ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto | |
RUN echo 'Downloading Grouper Installer...' \ | |
&& mkdir -p /opt/grouper/$GROUPER_VERSION \ | |
&& wget -q -O /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar https://oss.sonatype.org/service/local/repositories/releases/content/edu/internet2/middleware/grouper/grouper-installer/$GROUPER_VERSION/grouper-installer-$GROUPER_VERSION.jar | |
COPY container_files/grouper.installer.properties /opt/grouper/$GROUPER_VERSION | |
# Temporary morphString file used for building, not used in production | |
COPY container_files/morphString.properties /opt/grouper/$GROUPER_VERSION | |
RUN echo 'Installing Grouper'; \ | |
PATH=$PATH:$JAVA_HOME/bin; \ | |
cd /opt/grouper/$GROUPER_VERSION/ \ | |
&& $JAVA_HOME/bin/java -cp :grouperInstaller.jar edu.internet2.middleware.grouperInstaller.GrouperInstaller | |
FROM centos:centos7 as cleanup | |
ENV GROUPER_VERSION=2.5.51 \ | |
TOMEE_VERSION=7.0.0 | |
RUN mkdir -p /opt/grouper/grouperWebapp/ | |
RUN mkdir -p /opt/tomee/ | |
COPY --from=installing /opt/grouper/$GROUPER_VERSION/grouperInstaller.jar /opt/grouper/ | |
COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/tomee/ /opt/tomee/ | |
COPY --from=installing /opt/grouper/$GROUPER_VERSION/container/webapp/ /opt/grouper/grouperWebapp/ | |
RUN ls /opt/grouper/grouperWebapp/ | |
COPY --from=installing /etc/alternatives/java /etc/alternatives/java | |
RUN ls /opt/grouper/ | |
RUN ls /opt/grouper/grouperWebapp/WEB-INF | |
#ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.11.0/log4j-core-2.11.0.jar /opt/tomee/bin | |
#ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.11.0/log4j-api-2.11.0.jar /opt/tomee/bin | |
#ADD https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-jul/2.11.0/log4j-jul-2.11.0.jar /opt/tomee/bin | |
RUN cd /opt/tomee/; \ | |
rm -fr webapps/docs/ webapps/host-manager/ webapps/manager/ logs/* temp/* work/* conf/logging.properties | |
COPY container_files/api/* /opt/grouper/grouperWebapp/WEB-INF/classes/ | |
COPY container_files/tomee/ /opt/tomee/ | |
FROM tier/shibboleth_sp:3.1.0_04172020 | |
LABEL author="tier-packaging@internet2.edu <tier-packaging@internet2.edu>" \ | |
Vendor="TIER" \ | |
ImageType="Grouper" \ | |
ImageName=$imagename \ | |
ImageOS=centos7 | |
ARG GROUPER_CONTAINER_VERSION | |
ENV PATH=$PATH:$JAVA_HOME/bin \ | |
GROUPER_HOME=/opt/grouper/grouperWebapp/WEB-INF \ | |
GROUPER_CONTAINER_VERSION=$GROUPER_CONTAINER_VERSION | |
RUN ln -sf /usr/share/zoneinfo/UTC /etc/localtime | |
RUN yum update -y \ | |
&& yum install -y cron logrotate python-pip rsync sudo patch supervisor \ | |
&& pip install --upgrade pip \ | |
&& yum clean -y all | |
#COPY --from=installing $JAVA_HOME $JAVA_HOME | |
# do this again so its in rpm history | |
ARG CORRETTO_URL_PERM=https://corretto.aws/downloads/latest/amazon-corretto-8-x64-linux-jdk.rpm | |
ARG CORRETTO_RPM=amazon-corretto-8-x64-linux-jdk.rpm | |
COPY container_files/java-corretto/corretto-signing-key.pub . | |
RUN curl -O -L $CORRETTO_URL_PERM \ | |
&& rpm --import corretto-signing-key.pub \ | |
&& rpm -K $CORRETTO_RPM \ | |
&& rpm -i $CORRETTO_RPM \ | |
&& rm -r corretto-signing-key.pub $CORRETTO_RPM | |
ENV JAVA_HOME=/usr/lib/jvm/java-1.8.0-amazon-corretto | |
COPY --from=cleanup /opt/tomee/ /opt/tomee/ | |
COPY --from=cleanup /opt/grouper/ /opt/grouper/ | |
RUN groupadd -r tomcat \ | |
&& useradd -r -m -s /sbin/nologin -g tomcat tomcat \ | |
&& rm -f /etc/alternatives/java \ | |
&& ln -s $JAVA_HOME/bin/java /etc/alternatives/java \ | |
&& mkdir -p /opt/tomee/conf/Catalina/localhost/ \ | |
&& mkdir /opt/hsqldb | |
COPY container_files/tier-support/ /opt/tier-support/ | |
COPY container_files/usr-local-bin/ /usr/local/bin/ | |
RUN chmod +x /usr/local/bin/*.sh | |
COPY container_files/httpd/* /etc/httpd/conf.d/ | |
COPY container_files/shibboleth/* /etc/shibboleth/ | |
RUN cp /dev/null /etc/httpd/conf.d/ssl.conf | |
# this is to improve openshift | |
RUN touch /opt/grouper/grouperEnv.sh \ | |
&& mkdir -p /opt/tomee/work/Catalina/localhost/ \ | |
&& chown -R tomcat:root /opt/grouper/ /etc/httpd/conf/ /home/tomcat/ /opt/tomee/ /usr/local/bin /etc/httpd/conf.d/ /opt/hsqldb/ /opt/tier-support/ \ | |
&& chmod -R g+rwx /opt/grouper/ /etc/httpd/conf/ /home/tomcat/ /opt/tomee/ /usr/local/bin /etc/httpd/conf.d/ /opt/hsqldb/ /opt/tier-support/ | |
# keep backup of files | |
RUN mkdir -p /opt/tier-support/originalFiles ; \ | |
cp /opt/grouper/grouperWebapp/WEB-INF/classes/log4j.properties /opt/tier-support/originalFiles 2>/dev/null ; \ | |
cp /etc/httpd/conf/httpd.conf /opt/tier-support/originalFiles 2>/dev/null ; \ | |
cp /etc/httpd/conf.d/ssl-enabled.conf /opt/tier-support/originalFiles 2>/dev/null ; \ | |
cp /etc/httpd/conf.d/httpd-shib.conf /opt/tier-support/originalFiles 2>/dev/null ; \ | |
cp /etc/httpd/conf.d/shib.conf /opt/tier-support/originalFiles 2>/dev/null ; \ | |
cp /opt/tomee/conf/server.xml /opt/tier-support/originalFiles 2>/dev/null ; \ | |
cp /opt/tomee/conf/Catalina/localhost/grouper.xml /opt/tier-support/originalFiles 2>/dev/null ; \ | |
cp /opt/grouper/grouperWebapp/WEB-INF/web.xml /opt/tier-support/originalFiles 2>/dev/null | |
# Export this variable so that shibd can find its CURL library | |
RUN LD_LIBRARY_PATH="/opt/shibboleth/lib64" | |
RUN export LD_LIBRARY_PATH | |
WORKDIR /opt/grouper/grouperWebapp/WEB-INF/ | |
EXPOSE 80 443 | |
HEALTHCHECK NONE | |
ENTRYPOINT ["/usr/local/bin/entrypoint.sh"] | |
# CMD ["bin/gsh.sh", "-loader"] |