# The latest is 7u221. An exact build can be specified
FROM azul/zulu-openjdk:7u352
ARG JAVA_OPTS = "-Xms2000M -Xmx2800M"
ENV JAVA_OPTS = $JAVA_OPTS
ENV J2SDKDIR = /usr/lib/jvm/zulu7
ENV J2REDIR = /usr/lib/jvm/zulu7/jre
ENV JAVA_HOME = /usr/lib/jvm/zulu7
ENV PATH = $JAVA_HOME /bin:$JAVA_HOME /db/bin:$JAVA_HOME /jre/bin:$PATH
ENV TZ = "Europe/Rome"
# ENV DERBY_HOME=/docker-java-home/db
ENV USER = gcube
ENV GLOBUS_LOCATION = /home/gcube/gCore
ENV ANT_HOME = $GLOBUS_LOCATION
ENV PATH = $GLOBUS_LOCATION /bin:$PATH
#ENV EXIST_HOME=
#ENV GLOBUS_OPTIONS="-Dexist.home=$EXIST_HOME"
ENV GLOBUS_OPTIONS = ""
ENV LOGNAME = $USER
ENV GCORE_START_OPTIONS = " -DX509_USER_PROXY= $X509_USER_PROXY -Xms2800M -Xmx4800M "
RUN addgroup --system --gid 333 gcube
RUN adduser --system --gecos "Gcube service user" --disabled-password --disabled-login --uid 333 --ingroup gcube --shell /usr/sbin/nologin gcube
RUN apt-get update
RUN apt-get install -y wget nano less
WORKDIR /home/gcube
RUN cd /home/gcube && wget https://nexus.d4science.org/nexus/content/repositories/gcube-releases/org/gcube/distribution/ghn-distribution/7.0.0-4.2.0-132545/ghn-distribution-7.0.0-4.2.0-132545.tar.gz && tar zxf ghn-distribution-7.0.0-4.2.0-132545.tar.gz && rm -f ghn-distribution-7.0.0-4.2.0-132545.tar.gz && mkdir -p /home/gcube/gCore/logs /home/gcube/gCore/tmp /home/gcube/gCore/config /home/gcube/gCore/etc && chown -R gcube:gcube /home/gcube/gCore
#chown gcube:gcube /home/gcube/gCore/logs /home/gcube/gCore/tmp /home/gcube/gCore/config /home/gcube/gCore/etc
RUN chmod -R u = rwX,g= rX,o-rwx /home/gcube
RUN rm /home/gcube/gCore/lib/accounting-lib-2.3.0-4.2.0-132276.jar
RUN rm /home/gcube/gCore/lib/document-store-lib-1.4.0-4.2.0-135110.jar
RUN rm /home/gcube/gCore/lib/document-store-lib-couchbase-1.2.0-4.2.0-131889.jar
# RUN cd /home/gcube && wget https://nexus.d4science.org/nexus/content/repositories/gcube-staging-gcore/org/gcube/distribution/ghn-distribution/7.0.1-4.16.0-144317/ghn-distribution-7.0.1-4.16.0-144317.tar.gz && tar zxf ghn-distribution-7.0.1-4.16.0-144317.tar.gz && rm -f ghn-distribution-7.0.1-4.16.0-144317.tar.gz && mkdir -p /home/gcube/gCore/logs /home/gcube/gCore/tmp /home/gcube/gCore/config /home/gcube/gCore/etc && chown gcube /home/gcube/gCore/logs /home/gcube/gCore/tmp /home/gcube/gCore/config /home/gcube/gCore/etc
# add fake-accounting-lib
# RUN rm /home/gcube/gCore/lib/accounting-lib-3.5.0.jar
# RUN rm /home/gcube/gCore/lib/document-store-lib-2.5.0.jar
# RUN rm /home/gcube/gCore/lib/document-store-lib-couchbase-1.6.0-4.16.0-171307.jar
RUN wget -P /home/gcube/gCore/lib https://nexus.d4science.org/nexus/content/repositories/gcube-snapshots/org/gcube/accounting/fake-accounting-lib/3.2.0-SNAPSHOT/fake-accounting-lib-3.2.0-20190311.105710-2.jar
RUN rm /home/gcube/gCore/lib/is-publisher-2.2.0-4.2.0-126946.jar
RUN wget -P /home/gcube/gCore/lib https://nexus.d4science.org/nexus/content/repositories/gcube-releases-gcore/org/gcube/informationsystem/is-publisher/2.2.1-4.15.0-181697/is-publisher-2.2.1-4.15.0-181697.jar
COPY src/gcube-start-container.sh /home/gcube/gCore/bin/gcore-start-container
COPY src/gcore-start-container-daemon /home/gcube/gCore/bin/gcore-start-container-daemon
COPY src/GHNConfig.xml /home/gcube/gCore/config/GHNConfig.xml
RUN rm /home/gcube/gCore/lib/common-authorization-2.0.1-4.2.0-139995.jar
COPY src/common-authorization-2.0.2-4.3.0.jar /home/gcube/gCore/lib/
RUN rm /home/gcube/gCore/lib/common-scope-maps-1.0.5-4.2.0-134574.jar
COPY src/common-scope-maps-1.1.0-4.15.0-178670.jar /home/gcube/gCore/lib/
COPY src/ServiceMaps.tar.gz /home/gcube/
RUN tar xzvf /home/gcube/ServiceMaps.tar.gz -C /home/gcube/gCore/config/
RUN chmod 750 /home/gcube/gCore/config/ServiceMap_*.xml
# Update loggin settings
# Log with debug
# COPY src/container-log4j.properties.stdout.debug /home/gcube/gCore/container-log4j.properties
COPY src/container-log4j.properties /home/gcube/gCore/
COPY src/logging.jul.properties /home/gcube/gCore/
RUN chown -R gcube:gcube /home/gcube/gCore
# COPY src/log4j-stdout-appender.patch /home/gcube/gCore/
# RUN cat /home/gcube/gCore/log4j-stdout-appender.patch >> /home/gcube/gCore/container-log4j.properties
# RUN sed -i 's/log4j.rootLogger=ERROR,FULL,LITE/log4j.rootLogger=ERROR,stdout/' /home/gcube/gCore/container-log4j.properties
RUN $GLOBUS_LOCATION /bin/gcore-load-env
RUN chmod 755 /home/gcube/gCore/bin/gcore-start-container
# Remove Resultset from distribution
# RUN /home/gcube/gCore/bin/gcore-undeploy-service org.gcube.common.searchservice.resultsetservice
# RUN /home/gcube/gCore/bin/gcore-undeploy-service resultsetservice-3.1.0-4.16.0-126939
RUN /home/gcube/gCore/bin/gcore-undeploy-service resultsetservice-3.1.0-4.2.0-126939
RUN mkdir /gcube-data && chown gcube.nogroup /gcube-data
USER gcube
EXPOSE 8080
CMD /home/gcube/gCore/bin/gcore-start-container
# ENTRYPOINT exec /home/gcube/gCore/bin/gcore-start-container
# ENTRYPOINT ["tail", "-f", "/dev/null"]
# For Spring-Boot project, use the entrypoint below to reduce Tomcat startup time.
#ENTRYPOINT exec java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar ansibleplaybookisregistryservice.jar