Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New release of GeoNetwork 4.4.0 #15618

Merged
merged 1 commit into from
Oct 25, 2023

Conversation

juanluisrp
Copy link
Contributor

  • Release of GN 4.4.0
  • Retire unmaintained 4.0.6

* Release of GN 4.4.0
* Retire unmaintained 4.0.6
@github-actions
Copy link

Diff for 5c49ba6:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index 7191c13..1ca3c03 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -12,12 +12,12 @@ Architectures: amd64, arm32v7, arm64v8, ppc64le
 GitCommit: de27e28bd62ce359bae1940caf83fadc8d5108ac
 Directory: 3.12.11/postgres
 
-Tags: 4.0.6, 4.0
-Architectures: amd64, arm64v8
-GitCommit: 00936dcf7dbb2399405c53aa05c670fa4bb79736
-Directory: 4.0.6
-
-Tags: 4.2.6, 4.2, 4, latest
+Tags: 4.2.6, 4.2
 Architectures: amd64, arm64v8
 GitCommit: 3dd8a6f569eb7755235e770f06c0f6e9659a4277
 Directory: 4.2.6
+
+Tags: 4.4.0, 4.4, 4, latest
+Architectures: amd64, arm64v8
+GitCommit: 317a9e76f8300e58207c77f568d384b2444b315b
+Directory: 4.4.0
diff --git a/_bashbrew-list b/_bashbrew-list
index 35488be..be53124 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -5,8 +5,8 @@ geonetwork:3.12-postgres
 geonetwork:3.12.11
 geonetwork:3.12.11-postgres
 geonetwork:4
-geonetwork:4.0
-geonetwork:4.0.6
 geonetwork:4.2
 geonetwork:4.2.6
+geonetwork:4.4
+geonetwork:4.4.0
 geonetwork:latest
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index 84f4067..9d0e1de 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -1,4 +1,4 @@
 geonetwork:3
 geonetwork:3-postgres
-geonetwork:4.0
+geonetwork:4.2
 geonetwork:latest
diff --git a/geonetwork_4.0/Dockerfile b/geonetwork_4.0/Dockerfile
deleted file mode 100644
index 815a179..0000000
diff --git a/geonetwork_4.0/docker-entrypoint.sh b/geonetwork_4.0/docker-entrypoint.sh
deleted file mode 100755
index 2af683d..0000000
diff --git a/geonetwork_latest/Dockerfile b/geonetwork_4.2/Dockerfile
similarity index 100%
copy from geonetwork_latest/Dockerfile
copy to geonetwork_4.2/Dockerfile
diff --git a/geonetwork_latest/docker-entrypoint.sh b/geonetwork_4.2/docker-entrypoint.sh
similarity index 100%
copy from geonetwork_latest/docker-entrypoint.sh
copy to geonetwork_4.2/docker-entrypoint.sh
diff --git a/geonetwork_latest/Dockerfile b/geonetwork_latest/Dockerfile
index e1065be..a976000 100644
--- a/geonetwork_latest/Dockerfile
+++ b/geonetwork_latest/Dockerfile
@@ -1,13 +1,15 @@
-FROM jetty:9-jdk8
+FROM jetty:9-jdk11
 
 ENV DATA_DIR /catalogue-data
-ENV JAVA_OPTS -Dorg.eclipse.jetty.annotations.AnnotationParser.LEVEL=OFF \
-        -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true \
-        -Xms512M -Xss512M -Xmx2G -XX:+UseConcMarkSweepGC \
-        -Dgeonetwork.resources.dir=${DATA_DIR}/resources \
-        -Dgeonetwork.data.dir=${DATA_DIR} \
-        -Dgeonetwork.codeList.dir=/var/lib/jetty/webapps/geonetwork/WEB-INF/data/config/codelist \
-        -Dgeonetwork.schema.dir=/var/lib/jetty/webapps/geonetwork/WEB-INF/data/config/schema_plugins 
+ENV WEBAPP_CONTEXT_PATH /geonetwork
+ENV GN_CONFIG_PROPERTIES -Dgeonetwork.dir=${DATA_DIR} \
+        -Dgeonetwork.formatter.dir=${DATA_DIR}/data/formatter \
+        -Dgeonetwork.schema.dir=/opt/geonetwork/WEB-INF/data/config/schema_plugins \
+        -Dgeonetwork.indexConfig.dir=/opt/geonetwork/WEB-INF/data/config/index
+
+
+ENV JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true \
+        -Xms512M -Xss512M -Xmx2G -XX:+UseConcMarkSweepGC
 
 USER root
 RUN apt-get -y update && \
@@ -17,22 +19,26 @@ RUN apt-get -y update && \
     rm -rf /var/lib/apt/lists/* && \
     mkdir -p ${DATA_DIR} && \
     chown -R jetty:jetty ${DATA_DIR} && \
-    mkdir -p /var/lib/jetty/webapps/geonetwork && \
-    chown -R jetty:jetty /var/lib/jetty/webapps/geonetwork
+    mkdir -p /opt/geonetwork && \
+    chown -R jetty:jetty /opt/geonetwork
 
 USER jetty
 ENV GN_FILE geonetwork.war
-ENV GN_VERSION 4.2.6
-ENV GN_DOWNLOAD_MD5 59d375e0717a672dd5be82f8637cf256
+ENV GN_VERSION 4.4.0
+ENV GN_DOWNLOAD_MD5 36638cfd380942801ff2038792ee54a9
 
-RUN cd /var/lib/jetty/webapps/geonetwork/ && \
+RUN cd /opt/geonetwork/ && \
      curl -fSL -o geonetwork.war \
      https://sourceforge.net/projects/geonetwork/files/GeoNetwork_opensource/v${GN_VERSION}/${GN_FILE}/download && \
      echo "${GN_DOWNLOAD_MD5} *geonetwork.war" | md5sum -c && \
      unzip -q geonetwork.war && \
      rm geonetwork.war
 
+COPY jetty/geonetwork_context_template.xml /usr/local/share/geonetwork/geonetwork_context_template.xml
 COPY ./docker-entrypoint.sh /geonetwork-entrypoint.sh
+
+RUN java -jar /usr/local/jetty/start.jar --create-startd --add-module=http-forwarded
+
 ENTRYPOINT ["/geonetwork-entrypoint.sh"]
 CMD ["java","-jar","/usr/local/jetty/start.jar"]
 
diff --git a/geonetwork_latest/docker-entrypoint.sh b/geonetwork_latest/docker-entrypoint.sh
index 446a28a..5ac9293 100755
--- a/geonetwork_latest/docker-entrypoint.sh
+++ b/geonetwork_latest/docker-entrypoint.sh
@@ -1,61 +1,20 @@
 #!/bin/bash
 set -e
 
-export JAVA_OPTIONS=${JAVA_OPTS}
+export JAVA_OPTIONS="${JAVA_OPTS} ${GN_CONFIG_PROPERTIES}"
+
+GN_BASE_DIR=/opt/geonetwork
 
 if ! command -v -- "$1" >/dev/null 2>&1 ; then
 	set -- java -jar "$JETTY_HOME/start.jar" "$@"
 fi
 
 if [[ "$1" = jetty.sh ]] || [[ $(expr "$*" : 'java .*/start\.jar.*$') != 0 ]]; then
-    # this is a command to run jetty
-    
-    # Sanity check: ES_HOST variable is mandatory
-    if [ -z "${ES_HOST}" ]; then
-        cat >&2 <<- EOWARN
-			********************************************************************
-			WARNING: Environment variable ES_HOST is mandatory
-
-			GeoNetwork requires an Elasticsearch instance to store the index.
-			Please define the variable ES_HOST with the Elasticsearch 
-			host name. For example
-
-			docker run -e ES_HOST=elasticsearch geonetwork:${GN_VERSION}
-
-			********************************************************************
-		EOWARN
-        exit 2
-    fi;
-
-    # Set Elasticsearch properties
-    if [ "${ES_HOST}" != "localhost" ]; then
-        sed -i "s#http://localhost:9200#${ES_PROTOCOL:="http"}://${ES_HOST}:${ES_PORT:="9200"}#g" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/web.xml" ;
-        sed -i "s#es.host=localhost#es.host=${ES_HOST}#" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/config.properties" ;
-    fi; 
-
-    if [ -n "${ES_PROTOCOL}" ] && [ "${ES_PROTOCOL}" != "http" ] ; then
-        sed -i "s#es.protocol=http#es.protocol=${ES_PROTOCOL}#" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/config.properties" ;
-    fi
-
-    if [ -n "${ES_PORT}" ] && [ "$ES_PORT" != "9200" ] ; then
-        sed -i "s#es.port=9200#es.port=${ES_PORT}#" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/config.properties" ;
-    fi
-
-    if [ -n "${ES_INDEX_RECORDS}" ] && [ "$ES_INDEX_RECORDS" != "gn-records" ] ; then
-        sed -i "s#es.index.records=gn-records#es.index.records=${ES_INDEX_RECORDS}#" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/config.properties" ;
-    fi
-
-    if [ "${ES_USERNAME}" != "" ] ; then
-        sed -i "s/es.username=.*/es.username=${ES_USERNAME}/" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/config.properties" ;
-    fi
-
-    if [ "${ES_PASSWORD}" != "" ] ; then
-        sed -i "s/es.password=.*/es.password=${ES_PASSWORD}/" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/config.properties" ;
-    fi
-
-    if [ -n "${KB_URL}" ] && [ "$KB_URL" != "http://localhost:5601" ]; then
-        sed -i "s#kb.url=http://localhost:5601#kb.url=${KB_URL}#" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/config.properties" ;
-        sed -i "s#http://localhost:5601#${KB_URL}#g" "${JETTY_BASE}/webapps/geonetwork/WEB-INF/web.xml" ;
+    # Customize context path
+    if [ ! -f "${JETTY_BASE}/webapps/geonetwork.xml" ]; then
+        echo "Using $WEBAPP_CONTEXT_PATH for deploying the application"
+        cp /usr/local/share/geonetwork/geonetwork_context_template.xml "${JETTY_BASE}/webapps/geonetwork.xml"
+        sed -i "s#GEONETWORK_CONTEXT_PATH#${WEBAPP_CONTEXT_PATH}#" "${JETTY_BASE}/webapps/geonetwork.xml"
     fi
 
     # Delegate on base image entrypoint to start jetty
diff --git a/geonetwork_latest/jetty/geonetwork_context_template.xml b/geonetwork_latest/jetty/geonetwork_context_template.xml
new file mode 100644
index 0000000..d667206
--- /dev/null
+++ b/geonetwork_latest/jetty/geonetwork_context_template.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE Configure PUBLIC "-//Jetty//Configure//EN" "http://www.eclipse.org/jetty/configure_9_3.dtd">
+
+<Configure class="org.eclipse.jetty.webapp.WebAppContext">
+  <Set name="contextPath">GEONETWORK_CONTEXT_PATH</Set>
+  <Set name="war">/opt/geonetwork</Set>
+  <Get name="systemClasspathPattern">
+    <Call name="add"><Arg>-javax.mail.</Arg></Call>
+  </Get>
+  <Get name="serverClasspathPattern">
+    <Call name="add"><Arg>javax.mail.</Arg></Call>
+  </Get>
+  <Call name="setAttribute">
+    <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
+    <Arg>nomatches</Arg>
+  </Call>
+</Configure>

Relevant Maintainers:

@yosifkit yosifkit merged commit b0145de into docker-library:master Oct 25, 2023
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants