@@ -8,9 +8,9 @@ FROM centos:7
8
8
9
9
LABEL maintainer=
"FDM FZJ <[email protected] >"
10
10
11
- ARG TINI_VERSION=v0.18 .0
11
+ ARG TINI_VERSION=v0.19 .0
12
12
ARG JMX_EXPORTER_VERSION=0.12.0
13
- ARG VERSION=4.19
13
+ ARG VERSION=4.20
14
14
ARG DOMAIN=domain1
15
15
16
16
ENV HOME_DIR=/opt/dataverse\
@@ -21,11 +21,12 @@ ENV HOME_DIR=/opt/dataverse\
21
21
DOCROOT_DIR=/docroot\
22
22
METADATA_DIR=/metadata\
23
23
SECRETS_DIR=/secrets\
24
+ DUMPS_DIR=/dumps\
24
25
GLASSFISH_PKG=http://download.java.net/glassfish/4.1/release/glassfish-4.1.zip\
25
26
GLASSFISH_SHA1=704a90899ec5e3b5007d310b13a6001575827293\
26
27
WELD_PKG=https://repo1.maven.org/maven2/org/jboss/weld/weld-osgi-bundle/2.2.10.SP1/weld-osgi-bundle-2.2.10.SP1-glassfish4.jar\
27
- GRIZZLY_PKG=http://guides.dataverse.org/en/latest /_downloads/glassfish-grizzly-extra-all.jar\
28
- PGDRIVER_PKG=https://jdbc.postgresql.org/download/postgresql-42.2.10 .jar\
28
+ GRIZZLY_PKG=http://guides.dataverse.org/en/${VERSION} /_downloads/glassfish-grizzly-extra-all.jar\
29
+ PGDRIVER_PKG=https://jdbc.postgresql.org/download/postgresql-42.2.12 .jar\
29
30
DATAVERSE_VERSION=${VERSION}\
30
31
DATAVERSE_PKG=https://github.com/IQSS/dataverse/releases/download/v${VERSION}/dvinstall.zip\
31
32
JMX_EXPORTER_PKG=https://repo1.maven.org/maven2/io/prometheus/jmx/jmx_prometheus_javaagent/${JMX_EXPORTER_VERSION}/jmx_prometheus_javaagent-${JMX_EXPORTER_VERSION}.jar\
@@ -43,15 +44,13 @@ RUN groupadd -g 1000 glassfish && \
43
44
useradd -u 1000 -M -s /bin/bash -d ${HOME_DIR} glassfish -g glassfish && \
44
45
echo glassfish:glassfish | chpasswd && \
45
46
mkdir -p ${HOME_DIR} ${SCRIPT_DIR} ${SECRETS_DIR} && \
46
- mkdir -p ${DATA_DIR} ${METADATA_DIR} ${DOCROOT_DIR} && \
47
- chown -R glassfish: ${HOME_DIR} ${DATA_DIR} ${METADATA_DIR} ${DOCROOT_DIR}
47
+ mkdir -p ${DATA_DIR} ${METADATA_DIR} ${DOCROOT_DIR} ${DUMPS_DIR} && \
48
+ chown -R glassfish: ${HOME_DIR} ${DATA_DIR} ${METADATA_DIR} ${DOCROOT_DIR} ${DUMPS_DIR}
48
49
49
50
# Install tini as minimized init system
50
- RUN wget --no-verbose -O /tini https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini && \
51
- wget --no-verbose -O /tini.asc https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc && \
52
- gpg --batch --keyserver "hkp://p80.pool.sks-keyservers.net:80" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \
53
- gpg --batch --verify /tini.asc /tini && \
54
- chmod +x /tini
51
+ RUN wget --no-verbose -O tini-amd64 https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini-amd64 && \
52
+ echo '93dcc18adc78c65a028a84799ecf8ad40c936fdfc5f2a57b1acda5a8117fa82c tini-amd64' | sha256sum -c - && \
53
+ mv tini-amd64 /tini && chmod +x /tini
55
54
56
55
# Install esh template engine from Github
57
56
RUN wget --no-verbose -O esh https://raw.githubusercontent.com/jirutka/esh/v0.3.0/esh && \
@@ -94,6 +93,14 @@ RUN ${GLASSFISH_DIR}/bin/asadmin start-domain && \
94
93
for MEMORY_JVM_OPTION in $(${GLASSFISH_DIR}/bin/asadmin list-jvm-options | grep "Xm[sx]" ); do\
95
94
${GLASSFISH_DIR}/bin/asadmin delete-jvm-options $MEMORY_JVM_OPTION;\
96
95
done && \
96
+ ${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-XX\: +HeapDumpOnOutOfMemoryError" && \
97
+ ${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-XX\: HeapDumpPath=${DUMPS_DIR}" && \
98
+ ${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-XX\: +UseG1GC" && \
99
+ ${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-XX\: +UseStringDeduplication" && \
100
+ ${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-XX\: MaxGCPauseMillis=500" && \
101
+ ${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-XX\: MetaspaceSize=256m" && \
102
+ ${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-XX\: MaxMetaspaceSize=2g" && \
103
+ ${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-XX\: +IgnoreUnrecognizedVMOptions" && \
97
104
${GLASSFISH_DIR}/bin/asadmin create-jvm-options -- "-server" && \
98
105
${GLASSFISH_DIR}/bin/asadmin stop-domain && \
99
106
mkdir -p ${DOMAIN_DIR}/autodeploy && \
0 commit comments