-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Conversation
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
Contributor
juanluisrp
commented
Oct 25, 2023
- Release of GN 4.4.0
- Retire unmaintained 4.0.6
* Release of GN 4.4.0 * Retire unmaintained 4.0.6
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
approved these changes
Oct 25, 2023
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.