|
19 | 19 | # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
20 | 20 | #
|
21 | 21 |
|
| 22 | +### START: Container build time args for Elemental Server |
| 23 | +## |
| 24 | +# Elemental data cache size |
| 25 | +ARG ELEMENTAL_SERVER_CACHE_MEM="256" |
| 26 | +# Elemental maximum number of database brokers |
| 27 | +ARG ELEMENTAL_SERVER_MAX_BROKER="20" |
| 28 | +## |
| 29 | +### END: Container build time args for Elemental Server |
| 30 | + |
| 31 | +### START: Container build time args for JVM (Java Virtual Machine) |
| 32 | +## |
| 33 | +# JVM maximum RAM use (as a percentage of RAM available to the Docker Container) |
| 34 | +ARG JVM_MAX_RAM_PERCENTAGE="75.0" |
| 35 | + |
| 36 | +# JVM debugging protocol, suspend process on startup (y = Yes, n = No) |
| 37 | +ARG JVM_JDWP_SUSPEND="n" |
| 38 | +# JVM debugging protocol address and/or port |
| 39 | +ARG JVM_JDWP_ADDRESS="5005" |
| 40 | +## |
| 41 | +### END: Container build time args for JVM (Java Virtual Machine) |
| 42 | + |
| 43 | + |
22 | 44 | # Use Chainguard Wolfi
|
23 | 45 | FROM cgr.dev/chainguard/wolfi-base
|
24 | 46 |
|
| 47 | +# Inherit global args to this build stage |
| 48 | +ARG ELEMENTAL_SERVER_CACHE_MEM |
| 49 | +ARG ELEMENTAL_SERVER_MAX_BROKER |
| 50 | +ARG JVM_MAX_RAM_PERCENTAGE |
| 51 | +ARG JVM_JDWP_SUSPEND |
| 52 | +ARG JVM_JDWP_ADDRESS |
| 53 | + |
25 | 54 | RUN apk update && apk upgrade
|
26 | 55 | # Install dependencies needed for JDK
|
27 | 56 | RUN apk add tzdata zlib libjpeg-turbo libpng lcms2 freetype ttf-dejavu fontconfig-config libfontconfig1 expat libuuid libbrotlicommon1 libbrotlidec1 libbrotlienc1 libcrypt1
|
@@ -54,19 +83,13 @@ LABEL org.label-schema.build-date=${maven.build.timestamp} \
|
54 | 83 |
|
55 | 84 | EXPOSE 8080 8443 5005
|
56 | 85 |
|
57 |
| -# make CACHE_MEM, MAX_BROKER, JVM_MAX_RAM_PERCENTAGE, and JVM_JDWP_SUSPEND available to users at build time |
58 |
| -ARG CACHE_MEM |
59 |
| -ARG MAX_BROKER |
60 |
| -ARG JVM_MAX_RAM_PERCENTAGE |
61 |
| -ARG JVM_JDWP_SUSPEND |
62 |
| - |
63 | 86 | ENV ELEMENTAL_HOME="/elemental"
|
64 | 87 | ENV EXIST_HOME="/elemental"
|
65 | 88 | ENV CLASSPATH="/elemental/lib/${elemental.uber.jar.filename}"
|
66 | 89 |
|
67 | 90 | ENV JAVA_HOME="/usr/lib/jvm/java-21-openjdk"
|
68 | 91 |
|
69 |
| -ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true -Dorg.exist.db-connection.cacheSize=${CACHE_MEM:-256}M -Dorg.exist.db-connection.pool.max=${MAX_BROKER:-20} -Dlog4j.configurationFile=/elemental/etc/log4j2.xml -Dexist.home=/elemental -Dexist.configurationFile=/elemental/etc/conf.xml -Djetty.home=/elemental -Dexist.jetty.config=/elemental/etc/jetty/standard.enabled-jetty-configs -XX:+UseNUMA -XX:+UseZGC -XX:+UseContainerSupport -XX:MaxRAMPercentage=${JVM_MAX_RAM_PERCENTAGE:-75.0} -XX:+ExitOnOutOfMemoryError -agentlib:jdwp=transport=dt_socket,server=y,suspend=${JVM_JDWP_SUSPEND:-n},address=5005" |
| 92 | +ENV JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF8 -Dsun.jnu.encoding=UTF-8 -Djava.awt.headless=true -Dorg.exist.db-connection.cacheSize=${ELEMENTAL_SERVER_CACHE_MEM}M -Dorg.exist.db-connection.pool.max=${ELEMENTAL_SERVER_MAX_BROKER} -Dlog4j.configurationFile=/elemental/etc/log4j2.xml -Dexist.home=/elemental -Dexist.configurationFile=/elemental/etc/conf.xml -Djetty.home=/elemental -Dexist.jetty.config=/elemental/etc/jetty/standard.enabled-jetty-configs -XX:+UseNUMA -XX:+UseZGC -XX:+UseContainerSupport -XX:MaxRAMPercentage=${JVM_MAX_RAM_PERCENTAGE} -XX:+ExitOnOutOfMemoryError -agentlib:jdwp=transport=dt_socket,server=y,suspend=${JVM_JDWP_SUSPEND},address=${JVM_JDWP_ADDRESS}" |
70 | 93 |
|
71 | 94 | ENV PATH="/usr/lib/jvm/java-21-openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
|
72 | 95 |
|
|
0 commit comments