diff --git a/docker/Dockerfile b/docker/Dockerfile
index b0fdff5d1f8422ef772a39fdc5667d5c02ea5780..fb51ae3f296d5fdee7eaaf0ddef4ad5aef6d825f 100644
--- a/docker/Dockerfile
+++ b/docker/Dockerfile
@@ -7,11 +7,11 @@ WORKDIR /app
 COPY . /app/
 
 RUN --mount=type=cache,id=mvncache,target=/root/.m2/repository,rw \
-	mvn -B package
+	mvn -B verify
 
 ### Then we add the builded war to a JEE server.
 #FROM payara/server-full:5.2021.9-jdk11 as server
-FROM brunoe/payara:jdk11-6 as server
+FROM  brunoe/payara:jdk11-13 as server
 
 ARG STORE_PASSWORD=changeit
 ## Download the JDBC driver
@@ -25,26 +25,22 @@ RUN apt-get update && \
 
 USER payara
 ## This script adds a jdbc connection pool and ressource
-COPY docker/post-boot-commands.asadmin $POSTBOOT_COMMANDS
+COPY --chown=payara:payara docker/post-boot-commands.asadmin $POSTBOOT_COMMANDS
 ##
 
 ## We copy the OUR certificates to payara
-COPY --from=build /app/utils/src/main/resources/mycert.crt  /app/utils/src/main/resources/mycert.p12 /tmp/
-COPY --from=build /app/utils/src/main/resources/mycert-pub.p12  /app/utils/src/main/resources/mycert-pub.p12 /
+COPY --from=build --chown=payara:payara /app/utils/src/main/resources/mycert.crt  /app/utils/src/main/resources/mycert.p12 /tmp/
+COPY --from=build --chown=payara:payara /app/utils/src/main/resources/mycert-pub.p12  /app/utils/src/main/resources/mycert-pub.p12 /
 
 RUN keytool -importkeystore -noprompt -destkeystore /opt/payara/appserver/glassfish/domains/domain1/config/keystore.jks -srckeystore /tmp/mycert.p12 -srcstoretype PKCS12 -alias mycert -srcstorepass storepass -deststorepass ${STORE_PASSWORD} -deststoretype pkcs12 && \
     keytool -importcert -noprompt -trustcacerts -destkeystore /opt/payara/appserver/glassfish/domains/domain1/config/cacerts.jks -file /tmp/mycert.crt -alias mycert -srcstorepass storepass -deststorepass ${STORE_PASSWORD} -deststoretype pkcs12
 
-#RUN wget https://github.com/eclipse-ee4j/mojarra/releases/download/3.0.2-RELEASE/jakarta.faces-3.0.2.jar \
-#    -O /opt/payara/appserver/glassfish/modules/jakarta.faces.jar
-#RUN wget https://github.com/eclipse-ee4j/mojarra/releases/download/2.3.17-RELEASE/jakarta.faces-2.3.17.jar \
-#    -O /opt/payara/appserver/glassfish/modules/jakarta.faces.jar
 FROM server as production
-#COPY --from=build /app/jee/restApp/target/*.war \
+#COPY --from=build --chown=payara:payara  /app/jee/restApp/target/*.war \
 #                  $DEPLOY_DIR
-#COPY --from=build /app/jee/wsApp/target/*.war \
+#COPY --from=build --chown=payara:payara /app/jee/wsApp/target/*.war \
 #                  $DEPLOY_DIR
-#COPY --from=build /app/jee/jsf/target/*.war \
+#COPY --from=build --chown=payara:payara /app/jee/jsf/target/*.war \
 #                  $DEPLOY_DIR
-COPY --from=build /app/jee/ear/target/*.ear \
+COPY --from=build --chown=payara:payara /app/jee/ear/target/*.ear \
                   $DEPLOY_DIR
\ No newline at end of file
diff --git a/docker/payara/Dockerfile b/docker/payara/Dockerfile
index 369243efef57261fdbf19a04e29b6bb2a7838a5f..df7a754fbd12f511f3da7bc0667224c33301ece1 100644
--- a/docker/payara/Dockerfile
+++ b/docker/payara/Dockerfile
@@ -1,98 +1,95 @@
-# FROM azul/zulu-openjdk:8u222 as mypayara
-#FROM eclipse-temurin:17-jdk
 FROM eclipse-temurin:11.0.13_8-jdk-focal
+
+ENV HOME_DIR=/opt/payara
+ENV PAYARA_DIR=${HOME_DIR}/appserver \
+    SCRIPT_DIR=${HOME_DIR}/scripts \
+    CONFIG_DIR=${HOME_DIR}/config \
+    DEPLOY_DIR=${HOME_DIR}/deployments \
+    PASSWORD_FILE=${HOME_DIR}/passwordFile \
+    ADMIN_USER=admin \
+    ADMIN_PASSWORD=admin \
+    JVM_ARGS="" \
+    MEM_MAX_RAM_PERCENTAGE="70.0" \
+    MEM_XSS="512k"
+ENV PATH="${PATH}:${PAYARA_DIR}/bin"
+
+ARG TINI_VERSION=v0.19.0
+
+# Download tini
+ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini \
+    https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc /
+
+RUN true \
+    && apt-get update \
+    && apt-get install -y gpg wget unzip\
+    && rm -rf /var/lib/apt/lists/* \
+    && mkdir -p ${HOME_DIR} \
+    && addgroup --gid 1000 payara \
+    && adduser --system --uid 1000 --no-create-home --shell /bin/bash --home "${HOME_DIR}" --gecos "" --ingroup payara payara \
+    && echo payara:payara | chpasswd \
+    && mkdir -p ${PAYARA_DIR} \
+    && mkdir -p ${DEPLOY_DIR} \
+    && mkdir -p ${CONFIG_DIR} \
+    && mkdir -p ${SCRIPT_DIR} \
+    && chown -R payara:payara ${HOME_DIR} \
+    # Verify tini
+    && gpg --verbose --keyserver keyserver.ubuntu.com --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 \
+    && gpg --verify /tini.asc \
+    && chmod +x /tini \
+    && true
+
+USER payara
+WORKDIR ${HOME_DIR}
+
 # Default payara ports to expose
 # 4848: admin console
 # 9009: debug port (JPDA)
 # 8080: http
 # 8181: https
-EXPOSE 4848 9009 8080 8181 8686
+EXPOSE 4848 9009 8080 8181
 
-#ARG PAYARA_VERSION=5.2021.9
-#ARG PAYARA_SHA1=81c43f3c537ec74a813b48172758866615e1e792
+ENV DOMAIN_NAME=domain1 \
+    PAYARA_ARGS="" \
+    PREBOOT_COMMANDS=${CONFIG_DIR}/pre-boot-commands.asadmin \
+    PREBOOT_COMMANDS_FINAL=${CONFIG_DIR}/pre-boot-commands-final.asadmin \
+    POSTBOOT_COMMANDS=${CONFIG_DIR}/post-boot-commands.asadmin \
+    POSTBOOT_COMMANDS_FINAL=${CONFIG_DIR}/post-boot-commands-final.asadmin \
+    DEPLOY_PROPS=""
 
 ARG PAYARA_VERSION=6.2021.1.Alpha1
 ARG PAYARA_SHA1=0262f8af7e52b318109ed43f8a31a1e93f111bbf
-
 ARG PAYARA_PKG=https://search.maven.org/remotecontent?filepath=fish/payara/distributions/payara/${PAYARA_VERSION}/payara-${PAYARA_VERSION}.zip
 
-
-ARG TINI_VERSION=v0.19.0
-
-# Initialize the configurable environment variables
-ENV HOME_DIR=/opt/payara\
-    PAYARA_DIR=/opt/payara/appserver\
-    SCRIPT_DIR=/opt/payara/scripts\
-    CONFIG_DIR=/opt/payara/config\
-    DEPLOY_DIR=/opt/payara/deployments\
-    PASSWORD_FILE=/opt/payara/passwordFile\
-    # Payara Server Domain options
-    DOMAIN_NAME=domain1\
-    ADMIN_USER=admin\
-    ADMIN_PASSWORD=admin\
-    # Utility environment variables
-    JVM_ARGS=\
-    PAYARA_ARGS=\
-    DEPLOY_PROPS=\
-    POSTBOOT_COMMANDS=/opt/payara/config/post-boot-commands.asadmin\
-    PREBOOT_COMMANDS=/opt/payara/config/pre-boot-commands.asadmin
-ENV PATH="${PATH}:${PAYARA_DIR}/bin"
-
-# Create and set the Payara user and working directory owned by the new user
-RUN groupadd -g 1000 payara && \
-    useradd -u 1000 -M -s /bin/bash -d ${HOME_DIR} payara -g payara && \
-    echo payara:payara | chpasswd && \
-    mkdir -p ${DEPLOY_DIR} && \
-    mkdir -p ${CONFIG_DIR} && \
-    mkdir -p ${SCRIPT_DIR} && \
-    chown -R payara: ${HOME_DIR} && \
-    # Install required packages
-    apt-get update && \
-    apt-get install -y wget unzip gpg && \
-    rm -rf /var/lib/apt/lists/*
-
-# Install tini as minimized init system
-RUN wget --no-verbose -O /tini https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini && \
-    wget --no-verbose -O /tini.asc https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini.asc && \
-    gpg --batch --keyserver "keyserver.ubuntu.com" --recv-keys 595E85A6B1B4779EA4DAAEC70B588DFF0527A9B7 && \
-    gpg --batch --verify /tini.asc /tini && \
-    chmod +x /tini
-
-USER payara
-WORKDIR ${HOME_DIR}
+COPY --chown=payara:payara bin/* ${SCRIPT_DIR}/
+#COPY --chown=payara:payara maven/artifacts/payara6 ${PAYARA_DIR}/
 
 # Download and unzip the Payara distribution
 RUN ulimit -n 1024 ; wget --no-verbose -O payara.zip ${PAYARA_PKG} && \
     echo "${PAYARA_SHA1} *payara.zip" | sha1sum -c - && \
     unzip -qq payara.zip -d ./ && \
-    mv payara*/ appserver && \
-    # Configure the password file for configuring Payara
-    echo "AS_ADMIN_PASSWORD=\nAS_ADMIN_NEWPASSWORD=${ADMIN_PASSWORD}" > /tmp/tmpfile && \
-    echo "AS_ADMIN_PASSWORD=${ADMIN_PASSWORD}" >> ${PASSWORD_FILE} && \
-    # Configure the payara domain
-    ${PAYARA_DIR}/bin/asadmin --user ${ADMIN_USER} --passwordfile=/tmp/tmpfile change-admin-password --domain_name=${DOMAIN_NAME} && \
-    ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} start-domain ${DOMAIN_NAME} && \
-    ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} enable-secure-admin && \
-    for MEMORY_JVM_OPTION in $(${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} list-jvm-options | grep "Xm[sx]"); do\
-        ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} delete-jvm-options $MEMORY_JVM_OPTION;\
-    done && \
-    # FIXME: when upgrading this container to Java 10+, this needs to be changed to '-XX:+UseContainerSupport' and '-XX:MaxRAMPercentage'
-#     ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-jvm-options '-XX\:+UnlockExperimentalVMOptions:-XX\:+UseCGroupMemoryLimitForHeap:-XX\:MaxRAMFraction=1' && \
-    ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-jvm-options '-XX\:+UseContainerSupport:-XX\:MaxRAMPercentage=100' && \
-    ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} set-log-attributes com.sun.enterprise.server.logging.GFFileHandler.logtoFile=false && \
-    ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} stop-domain ${DOMAIN_NAME} && \
-    # Cleanup unused files
-    rm -rf \
-        /tmp/tmpFile \
-        payara.zip \
-        ${PAYARA_DIR}/glassfish/domains/${DOMAIN_NAME}/osgi-cache \
-        ${PAYARA_DIR}/glassfish/domains/${DOMAIN_NAME}/logs
-#        ${PAYARA_DIR}/glassfish/domains/domain1
+    mv payara*/* ${PAYARA_DIR} && rm -rf payara*
 
-# Copy across docker scripts
-COPY --chown=payara:payara bin/*.sh ${SCRIPT_DIR}/
-RUN mkdir -p ${SCRIPT_DIR}/init.d && \
-    chmod +x ${SCRIPT_DIR}/*
+RUN true \
+    && echo "AS_ADMIN_PASSWORD=\nAS_ADMIN_NEWPASSWORD=${ADMIN_PASSWORD}" > /tmp/password-change-file.txt \
+    && echo "AS_ADMIN_PASSWORD=${ADMIN_PASSWORD}" >> ${PASSWORD_FILE} \
+    && ${PAYARA_DIR}/bin/asadmin --user ${ADMIN_USER} --passwordfile=/tmp/password-change-file.txt change-admin-password --domain_name=${DOMAIN_NAME} \
+    && ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} start-domain ${DOMAIN_NAME} \
+    && ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} enable-secure-admin \
+    && for MEMORY_JVM_OPTION in \
+       $(${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} list-jvm-options | grep "Xm[sx]\|Xss"); \
+       do\
+         ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} delete-jvm-options $MEMORY_JVM_OPTION;\
+       done \
+    && ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} create-jvm-options \
+      '-XX\:+UseContainerSupport:-XX\:MaxRAMPercentage=${ENV=MEM_MAX_RAM_PERCENTAGE}:-Xss${ENV=MEM_XSS}' \
+    && ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} \
+      set-log-attributes com.sun.enterprise.server.logging.GFFileHandler.logtoFile=false \
+    && ${PAYARA_DIR}/bin/asadmin --user=${ADMIN_USER} --passwordfile=${PASSWORD_FILE} stop-domain ${DOMAIN_NAME} \
+    && rm -rf \
+        /tmp/password-change-file.txt \
+        ${PAYARA_DIR}/glassfish/domains/${DOMAIN_NAME}/osgi-cache \
+        ${PAYARA_DIR}/glassfish/domains/${DOMAIN_NAME}/logs \
+    && true
 
 ENTRYPOINT ["/tini", "--"]
-CMD ${SCRIPT_DIR}/entrypoint.sh
+CMD "${SCRIPT_DIR}/entrypoint.sh"
diff --git a/docker/payara/build.sh b/docker/payara/build.sh
index 6ee1b511105493c2a4181dd967400f0fadc99ede..3f45d23d2c622a2823acc8c2750919d53f86563a 100755
--- a/docker/payara/build.sh
+++ b/docker/payara/build.sh
@@ -1 +1 @@
-COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker build -t brunoe/payara:jdk11-6 .
+COMPOSE_DOCKER_CLI_BUILD=1 DOCKER_BUILDKIT=1 docker build -t brunoe/payara:jdk11-13 .