From 49ada501b6170adee045256d79db2adccaaccccd Mon Sep 17 00:00:00 2001
From: Joze RIHTARSIC <joze.RIHTARSIC@ext.ec.europa.eu>
Date: Wed, 21 Dec 2022 15:19:22 +0100
Subject: [PATCH] add weblogic 14c (jdk11 ) plan

---
 changelog.txt                                 |   1 +
 .../compose/weblogic-oracle14/README.md       |  16 +
 .../data/smp/config/.disable_default_excludes |   4 +
 .../data/smp/config/.gitignore                |   5 +
 .../smp/security/.disable_default_excludes    |   4 +
 .../data/smp/security/.gitignore              |   5 +
 .../data/upload/.disable_default_excludes     |   4 +
 .../weblogic-oracle14/data/upload/.gitignore  |   5 +
 .../keystores/.disable_default_excludes       |   4 +
 .../data/weblogic/keystores/.gitignore        |   5 +
 .../weblogic-oracle14/docker-compose.yml      |  80 +++
 .../db-scripts/.disable_default_excludes      |   4 +
 .../properties/db-scripts/.gitignore          |   5 +
 .../weblogic-init/datasource.properties       |   8 +
 .../weblogic-init/domain.properties           |   4 +
 .../weblogic-init/domain_security.properties  |   2 +
 .../weblogic-init/smp.config.properties       |   8 +
 .../compose/weblogic-oracle14/runCompose.sh   | 120 ++++
 .../status-folder/.disable_default_excludes   |   4 +
 .../status-folder/.gitignore                  |   5 +
 .../weblogic-oracle14/stopClearCompose.sh     |  26 +
 smp-docker/images/build-docker-images.sh      |  82 ++-
 .../oracle/OracleJava/java-11/Dockerfile      |  92 +++
 .../oracle/OracleJava/java-11/Dockerfile.8    |  89 +++
 .../images/oracle/OracleJava/java-11/build.sh |  14 +
 .../weblogic-14.1.1.0/Checksum.developer      |   6 +
 .../oracle/weblogic-14.1.1.0/Checksum.generic |   5 +
 .../oracle/weblogic-14.1.1.0/Checksum.slim    |   5 +
 .../weblogic-14.1.1.0/Dockerfile.developer-11 | 108 +++
 .../weblogic-14.1.1.0/Dockerfile.developer-8  | 108 +++
 .../weblogic-14.1.1.0/Dockerfile.generic-11   | 108 +++
 .../weblogic-14.1.1.0/Dockerfile.generic-8    | 108 +++
 .../weblogic-14.1.1.0/Dockerfile.slim-11      | 110 +++
 .../weblogic-14.1.1.0/Dockerfile.slim-8       | 110 +++
 .../images/oracle/weblogic-14.1.1.0/README.md |  97 +++
 .../container-scripts/create-wls-domain.py    |  91 +++
 .../createAndStartEmptyDomain.sh              |  75 +++
 .../container-scripts/get_healthcheck_url.sh  |  11 +
 ...fmw_14.1.1.0.0_wls_Disk1_1of1.zip.download |   5 +
 ...4.1.1.0.0_wls_lite_Disk1_1of1.zip.download |   5 +
 ...0.0_wls_lite_quick_Disk1_1of1.zip.download |   5 +
 ....0.0_wls_lite_slim_Disk1_1of1.zip.download |   5 +
 ....1.1.0.0_wls_quick_Disk1_1of1.zip.download |   5 +
 ...0.0_wls_quick_slim_Disk1_1of1.zip.download |   5 +
 .../oracle/weblogic-14.1.1.0/install.file     |  11 +
 .../oracle/weblogic-14.1.1.0/oraInst.loc      |   2 +
 .../properties/domain.properties              |   2 +
 .../data/config/smp.config.properties         |   8 +
 .../properties/db-scripts/01_create_user.sql  |   8 +
 .../properties/db-scripts/02_oracle10g.sql    | 627 ++++++++++++++++++
 .../db-scripts/03_oracle10g-data.sql          |  77 +++
 .../images/weblogic-14.1-smp/Dockerfile       | 106 +++
 smp-docker/images/weblogic-14.1-smp/README.md | 133 ++++
 .../init-scripts/create-wls-domain.py         | 171 +++++
 .../init-scripts/createWLSDomain.sh           | 165 +++++
 .../init-scripts/datasource.properties.oracle |   9 +
 .../init-scripts/deploySMPToDomain.sh         |  36 +
 .../init-scripts/ds-deploy.py                 |  80 +++
 .../init-scripts/enable-server-https.py       |  57 ++
 .../init-scripts/functions/keystore.functions | 301 +++++++++
 .../init-scripts/shutdown-servers.py          |  15 +
 .../init-scripts/smp-app-deploy.py            |  51 ++
 .../container-scripts/init-scripts/wlst       |   6 +
 .../container-scripts/startAdminServer.sh     | 144 ++++
 .../container-scripts/startManagedServer.sh   |  93 +++
 .../container-scripts/waitForAdminServer.sh   |  20 +
 .../properties/init/datasource.properties     |   8 +
 .../properties/init/domain.properties         |   4 +
 .../properties/init/smp.config.properties     |   8 +
 .../smp/data/ui/enums/SMPPropertyEnum.java    |   6 +-
 .../UITruststoreServiceIntegrationTest.java   |   1 +
 .../smp/sml/SmlConnectorDomainTest.java       |   1 +
 .../src/test/resources/basic_conf_data-h2.sql |   1 +
 smp-soapui-tests/pom.xml                      |  59 +-
 smp-webapp/pom.xml                            |  10 -
 .../src/main/resources/config.properties      |   9 +-
 .../security/SignatureValidatorTest.java      |   2 -
 .../webapp_integration_test_data.sql          |   2 +
 ...ebapp_integration_test_data_one_domain.sql |   1 +
 79 files changed, 3759 insertions(+), 43 deletions(-)
 create mode 100644 smp-docker/compose/weblogic-oracle14/README.md
 create mode 100644 smp-docker/compose/weblogic-oracle14/data/smp/config/.disable_default_excludes
 create mode 100644 smp-docker/compose/weblogic-oracle14/data/smp/config/.gitignore
 create mode 100644 smp-docker/compose/weblogic-oracle14/data/smp/security/.disable_default_excludes
 create mode 100644 smp-docker/compose/weblogic-oracle14/data/smp/security/.gitignore
 create mode 100644 smp-docker/compose/weblogic-oracle14/data/upload/.disable_default_excludes
 create mode 100644 smp-docker/compose/weblogic-oracle14/data/upload/.gitignore
 create mode 100644 smp-docker/compose/weblogic-oracle14/data/weblogic/keystores/.disable_default_excludes
 create mode 100644 smp-docker/compose/weblogic-oracle14/data/weblogic/keystores/.gitignore
 create mode 100644 smp-docker/compose/weblogic-oracle14/docker-compose.yml
 create mode 100644 smp-docker/compose/weblogic-oracle14/properties/db-scripts/.disable_default_excludes
 create mode 100644 smp-docker/compose/weblogic-oracle14/properties/db-scripts/.gitignore
 create mode 100644 smp-docker/compose/weblogic-oracle14/properties/weblogic-init/datasource.properties
 create mode 100644 smp-docker/compose/weblogic-oracle14/properties/weblogic-init/domain.properties
 create mode 100644 smp-docker/compose/weblogic-oracle14/properties/weblogic-init/domain_security.properties
 create mode 100644 smp-docker/compose/weblogic-oracle14/properties/weblogic-init/smp.config.properties
 create mode 100755 smp-docker/compose/weblogic-oracle14/runCompose.sh
 create mode 100644 smp-docker/compose/weblogic-oracle14/status-folder/.disable_default_excludes
 create mode 100644 smp-docker/compose/weblogic-oracle14/status-folder/.gitignore
 create mode 100755 smp-docker/compose/weblogic-oracle14/stopClearCompose.sh
 create mode 100644 smp-docker/images/oracle/OracleJava/java-11/Dockerfile
 create mode 100644 smp-docker/images/oracle/OracleJava/java-11/Dockerfile.8
 create mode 100755 smp-docker/images/oracle/OracleJava/java-11/build.sh
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.developer
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.generic
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.slim
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.developer-11
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.developer-8
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.generic-11
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.generic-8
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.slim-11
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.slim-8
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/README.md
 create mode 100644 smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/create-wls-domain.py
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/createAndStartEmptyDomain.sh
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/get_healthcheck_url.sh
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_Disk1_1of1.zip.download
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip.download
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip.download
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip.download
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_quick_Disk1_1of1.zip.download
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_quick_slim_Disk1_1of1.zip.download
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/install.file
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/oraInst.loc
 create mode 100755 smp-docker/images/oracle/weblogic-14.1.1.0/properties/domain.properties
 create mode 100644 smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/data/config/smp.config.properties
 create mode 100644 smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/01_create_user.sql
 create mode 100644 smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/02_oracle10g.sql
 create mode 100644 smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/03_oracle10g-data.sql
 create mode 100644 smp-docker/images/weblogic-14.1-smp/Dockerfile
 create mode 100644 smp-docker/images/weblogic-14.1-smp/README.md
 create mode 100644 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/create-wls-domain.py
 create mode 100755 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/createWLSDomain.sh
 create mode 100644 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/datasource.properties.oracle
 create mode 100755 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/deploySMPToDomain.sh
 create mode 100644 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/ds-deploy.py
 create mode 100644 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/enable-server-https.py
 create mode 100644 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/functions/keystore.functions
 create mode 100644 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/shutdown-servers.py
 create mode 100644 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/smp-app-deploy.py
 create mode 100755 smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/wlst
 create mode 100755 smp-docker/images/weblogic-14.1-smp/container-scripts/startAdminServer.sh
 create mode 100755 smp-docker/images/weblogic-14.1-smp/container-scripts/startManagedServer.sh
 create mode 100755 smp-docker/images/weblogic-14.1-smp/container-scripts/waitForAdminServer.sh
 create mode 100644 smp-docker/images/weblogic-14.1-smp/properties/init/datasource.properties
 create mode 100644 smp-docker/images/weblogic-14.1-smp/properties/init/domain.properties
 create mode 100644 smp-docker/images/weblogic-14.1-smp/properties/init/smp.config.properties

diff --git a/changelog.txt b/changelog.txt
index a90f7aa7d..dcac985aa 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -5,6 +5,7 @@ eDelivery SMP 5.0
     document.restriction.allowed.certificate.types: Allowed key algorithms for certificates to be used in service metadata.Empty value means no restrictions, for other values see the java KeyFactory Algorithms for example: RSA|EC|Ed25519|Ed448.
     smp.certificate.validation.allowed.certificate.type: Allowed user certificate JCE types. Empty value means no restrictions, for other values see the java KeyFactory Algorithms for example: RSA|EC|Ed25519|Ed448.
     identifiersBehaviour.splitPattern: Regular expression with groups scheme and identifier for splitting the URN identifiers to scheme and identifier part.
+- the default keystore type is now PKCS12. Set the keystore type to JKS if properties smp.truststore.type and smp.keystore.type are missing!
 
 eDelivery SMP 4.2
 - added new properties:
diff --git a/smp-docker/compose/weblogic-oracle14/README.md b/smp-docker/compose/weblogic-oracle14/README.md
new file mode 100644
index 000000000..e4e3fb07a
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/README.md
@@ -0,0 +1,16 @@
+# WebLogic oracle docker plan
+WebLogic Oracle database plan starts up clustered WebLogic 12.2c environment with the Oracle 11xe or oracle 19c database.
+The cluster is consisted from two nodes and the admin served. DB Connection pool and the SMP application is deployed to all 
+servers.    
+
+# start environment
+execute bash script 
+
+    ./compose/weblogic-oracle/runCompose.sh
+    
+**Note**: if the Nodes are not starting (Caused By: com.rsa.jsafe.JSAFE_PaddingException: Invalid padding.). Please make sure
+the notes are using the same ./smp-docker/compose/weblogic-oracle/data/smp-cluster-4.2-RC2-SNAPSHOT.jar generated from the admin server!
+ 
+
+Restart clean node-01
+docker-compose -f ./compose/weblogic-oracle/docker-compose.yml -p smp-wls-orcl up --force-recreate --no-deps   smp-node-01
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/data/smp/config/.disable_default_excludes b/smp-docker/compose/weblogic-oracle14/data/smp/config/.disable_default_excludes
new file mode 100644
index 000000000..e5d41c1ef
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/data/smp/config/.disable_default_excludes
@@ -0,0 +1,4 @@
+.gitignore is excluded when sharing artifacts on bamboo
+http://ant.apache.org/manual/dirtasks.html
+
+And we want this folder to be shared in order to keep the project structure.
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/data/smp/config/.gitignore b/smp-docker/compose/weblogic-oracle14/data/smp/config/.gitignore
new file mode 100644
index 000000000..2c487cd0d
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/data/smp/config/.gitignore
@@ -0,0 +1,5 @@
+# Ignore everything in this directory
+..
+# Except the following
+!.gitignore
+!.disable_default_excludes
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/data/smp/security/.disable_default_excludes b/smp-docker/compose/weblogic-oracle14/data/smp/security/.disable_default_excludes
new file mode 100644
index 000000000..e5d41c1ef
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/data/smp/security/.disable_default_excludes
@@ -0,0 +1,4 @@
+.gitignore is excluded when sharing artifacts on bamboo
+http://ant.apache.org/manual/dirtasks.html
+
+And we want this folder to be shared in order to keep the project structure.
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/data/smp/security/.gitignore b/smp-docker/compose/weblogic-oracle14/data/smp/security/.gitignore
new file mode 100644
index 000000000..2c487cd0d
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/data/smp/security/.gitignore
@@ -0,0 +1,5 @@
+# Ignore everything in this directory
+..
+# Except the following
+!.gitignore
+!.disable_default_excludes
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/data/upload/.disable_default_excludes b/smp-docker/compose/weblogic-oracle14/data/upload/.disable_default_excludes
new file mode 100644
index 000000000..e5d41c1ef
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/data/upload/.disable_default_excludes
@@ -0,0 +1,4 @@
+.gitignore is excluded when sharing artifacts on bamboo
+http://ant.apache.org/manual/dirtasks.html
+
+And we want this folder to be shared in order to keep the project structure.
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/data/upload/.gitignore b/smp-docker/compose/weblogic-oracle14/data/upload/.gitignore
new file mode 100644
index 000000000..2c487cd0d
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/data/upload/.gitignore
@@ -0,0 +1,5 @@
+# Ignore everything in this directory
+..
+# Except the following
+!.gitignore
+!.disable_default_excludes
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/data/weblogic/keystores/.disable_default_excludes b/smp-docker/compose/weblogic-oracle14/data/weblogic/keystores/.disable_default_excludes
new file mode 100644
index 000000000..e5d41c1ef
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/data/weblogic/keystores/.disable_default_excludes
@@ -0,0 +1,4 @@
+.gitignore is excluded when sharing artifacts on bamboo
+http://ant.apache.org/manual/dirtasks.html
+
+And we want this folder to be shared in order to keep the project structure.
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/data/weblogic/keystores/.gitignore b/smp-docker/compose/weblogic-oracle14/data/weblogic/keystores/.gitignore
new file mode 100644
index 000000000..2c487cd0d
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/data/weblogic/keystores/.gitignore
@@ -0,0 +1,5 @@
+# Ignore everything in this directory
+..
+# Except the following
+!.gitignore
+!.disable_default_excludes
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/docker-compose.yml b/smp-docker/compose/weblogic-oracle14/docker-compose.yml
new file mode 100644
index 000000000..17d0411ea
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/docker-compose.yml
@@ -0,0 +1,80 @@
+version: "3.0"
+services:
+  smp-oracle-db:
+    image: smp-oradb-${ORA_VERSION}-${ORA_EDITION}:${SMP_VERSION:-5.0-SNAPSHOT}
+    hostname: smp-database.local
+    environment:
+      - ORACLE_CHARACTERSET=AL32UTF8 # set database encoding
+      - NLS_LANG=.AL32UTF8  # set sqlplus encoding for starting up scripts
+    volumes:
+      - ./properties/db-scripts:/docker-entrypoint-initdb.d/startup  # init script.
+      - ./status-folder:/u01/status/
+    ports:
+      - 1821:1521
+    shm_size: '1gb'
+
+  smp-wls-admin:
+    depends_on:
+      - smp-oracle-db
+    command: [bash, -c, "rm -rf /u01/status/wls-admin.started;for i in `seq 150`; do timeout 1  bash -c 'echo \" $$(ls /u01/status/)\"'; if [ -f '/u01/status/database.status' ] && [ \"$$( cat /u01/status/database.status )\" == 'DATABASE IS READY TO USE!' ] ; then break;fi; echo \"$$i. Wait for database!\"; sleep 10;  done;   /u01/oracle/startAdminServer.sh"]
+    image:  smp-weblogic-141:${SMP_VERSION:-5.0-SNAPSHOT}
+    hostname: smp-wls-admin
+    environment:
+      - JAVA_OPTIONS="-Dweblogic.webservice.i18n.charset=utf-8"
+      - WL_PRODUCTION_MODE_ENABLED=true # to enable production deployment
+      - WL_DEPLOYMENT_TARGET=smp-cluster
+    ports:
+      - 7801:7001
+    volumes:
+      - ./properties/weblogic-init:/u01/init/
+      - ./data:/data
+      - ./status-folder:/u01/status/
+
+  smp-node-01:
+    # depend of the startup of the db
+    depends_on:
+      - smp-wls-admin
+    command: [bash, -c, "for i in `seq 200`; do timeout 1  bash -c 'echo \" $$(ls /u01/status/)\"'; if [ -f '/u01/status/wls-admin.started' ]  ; then break;fi; echo \"$$i. Wait for admin server!\"; sleep 10;  done; /u01/oracle/startManagedServer.sh"]
+    environment:
+      - WL_ADMIN_HOST=smp-wls-admin
+      - WL_MANAGED_SERV_NAME=smp-node-1
+    image: smp-weblogic-141:${SMP_VERSION:-5.0-SNAPSHOT}
+    #    ports:
+    #      - "18453:8453"
+    #      - "18001:8001"
+    volumes:
+      - ./data:/data
+      - ./status-folder:/u01/status/
+  smp-node-02:
+    # depend of the startup of the db
+    depends_on:
+      - smp-wls-admin
+    command: [bash, -c, "for i in `seq 200`; do timeout 1  bash -c 'echo \" $$(ls /u01/status/)\"'; if [ -f '/u01/status/wls-admin.started' ]  ; then break;fi; echo \"$$i. Wait for admin server!\"; sleep 10;  done; /u01/oracle/startManagedServer.sh"]
+    environment:
+      - WL_ADMIN_HOST=smp-wls-admin
+      - WL_MANAGED_SERV_NAME=smp-node-2
+      - WL_DELAY_STARTUP_IN_S=20 # delay startup to allow node 01 to initialize the database, truststore and keystore
+    image: smp-weblogic-141:${SMP_VERSION:-5.0-SNAPSHOT}
+    #    ports:
+    #      - "18453:8453"
+    #      - "18001:8001"
+    volumes:
+      - ./data:/data
+      - ./status-folder:/u01/status/
+
+  smp-httpd:
+    depends_on:
+      - smp-node-01
+      - smp-node-02
+    image: smp-httpd:${SMP_VERSION:-5.0-SNAPSHOT}
+    environment:
+      - VHOST_CORNER_HOSTNAME=smp.edelivery.eu
+      - NODES_COUNT=2
+      - NODE_HOSTNAMES=smp-node-01,smp-node-02
+      - NODE_PORT_NUMBERS=8001,8001
+      - AllowEncodedSlashes=NoDecode
+    ports:
+      - "7880:80"
+    restart: always
+
+
diff --git a/smp-docker/compose/weblogic-oracle14/properties/db-scripts/.disable_default_excludes b/smp-docker/compose/weblogic-oracle14/properties/db-scripts/.disable_default_excludes
new file mode 100644
index 000000000..e5d41c1ef
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/properties/db-scripts/.disable_default_excludes
@@ -0,0 +1,4 @@
+.gitignore is excluded when sharing artifacts on bamboo
+http://ant.apache.org/manual/dirtasks.html
+
+And we want this folder to be shared in order to keep the project structure.
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/properties/db-scripts/.gitignore b/smp-docker/compose/weblogic-oracle14/properties/db-scripts/.gitignore
new file mode 100644
index 000000000..2c487cd0d
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/properties/db-scripts/.gitignore
@@ -0,0 +1,5 @@
+# Ignore everything in this directory
+..
+# Except the following
+!.gitignore
+!.disable_default_excludes
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/datasource.properties b/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/datasource.properties
new file mode 100644
index 000000000..2bdd46c3d
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/datasource.properties
@@ -0,0 +1,8 @@
+dsname=eDeliverySmpDs
+dsdbname=eDeliverySmpDs
+dsjndiname=jdbc/eDeliverySmpDs
+dsdriver=oracle.jdbc.OracleDriver
+dsurl=jdbc:oracle:thin:@//smp-oracle-db:1521/xe
+dsusername=smp
+dspassword=test
+dstestquery=SQL SELECT 1 FROM DUAL
diff --git a/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/domain.properties b/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/domain.properties
new file mode 100644
index 000000000..d7ac9c8f6
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/domain.properties
@@ -0,0 +1,4 @@
+CLUSTER_TYPE=DYNAMIC
+JAVA_OPTIONS=-Dweblogic.StdoutDebugEnabled=false
+T3_CHANNEL_PORT=30012
+T3_PUBLIC_ADDRESS=kubernetes
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/domain_security.properties b/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/domain_security.properties
new file mode 100644
index 000000000..3674a461b
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/domain_security.properties
@@ -0,0 +1,2 @@
+username=wls-smp
+password=wls-pass-01
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/smp.config.properties b/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/smp.config.properties
new file mode 100644
index 000000000..d6cc55361
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/properties/weblogic-init/smp.config.properties
@@ -0,0 +1,8 @@
+
+configuration.dir=/data/smp/security
+hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
+datasource.jndi=jdbc/eDeliverySmpDs
+authentication.blueCoat.enabled=true
+smp.truststore.password={DEC}{test123}
+smp.keystore.password={DEC}{test123}
+log.folder=./logs/
diff --git a/smp-docker/compose/weblogic-oracle14/runCompose.sh b/smp-docker/compose/weblogic-oracle14/runCompose.sh
new file mode 100755
index 000000000..4428b8fa1
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/runCompose.sh
@@ -0,0 +1,120 @@
+#!/bin/bash
+
+#WORKING_DIR="$(dirname $0)"
+WORKING_DIR="$(cd -P "$( dirname "${BASH_SOURCE[0]}" )" && pwd)"
+
+SMP_INIT_DATABASE="../../../smp-webapp/src/main/smp-setup/database-scripts/oracle10g.ddl"
+#SMP_INIT_DATABASE_DATA="../../../smp-webapp/src/main/smp-setup/database-scripts/oracle10g-data.sql"
+SMP_INIT_DATABASE_DATA="../../../smp-soapui-tests/groovy/oracle-4.1_integration_test_data.sql"
+# soap ui data
+PREFIX="smp-wls-orcl"
+SMP_VERSION=5.0-SNAPSHOT
+
+
+#ORA_VERSION="19.3.0"
+#ORA_EDITION="se2"
+#ORA_SERVICE="ORCLPDB1"
+#ORACLE_PDB="ORCLPDB1"
+ORA_VERSION="11.2.0.2"
+ORA_EDITION="xe"
+ORA_SERVICE="xe"
+
+SMP_DB_USERNAME=smp;
+SMP_DB_PASSWORD=test;
+SMP_DB_SCRIPTS=./properties/db-scripts
+
+# READ arguments
+while getopts i:v: option
+do
+  case "${option}"
+  in
+    i) SMP_INIT_DATABASE_DATA=${OPTARG};;
+    v) SMP_VERSION=${OPTARG};;
+  esac
+done
+
+
+if [  -z "${SMP_VERSION}" ]
+then
+  # get version from POM file 
+  SMP_VERSION="$(mvn org.apache.maven.plugins:maven-help-plugin:3.1.0:evaluate -Dexpression=project.version -q -DforceStdout)"
+fi
+
+echo "*************************************************************************"
+echo "SMP version: $SMP_VERSION"
+echo "Init sql data: ${SMP_INIT_DATABASE_DATA}"
+echo "Working Directory: ${WORKING_DIR}"
+echo "*************************************************************************"
+cd "$WORKING_DIR"
+
+echo "Create folder (if not exist) for database scripts ${SMP_DB_SCRIPTS}"
+[ -d  ${SMP_DB_SCRIPTS}  ] || mkdir -p "${SMP_DB_SCRIPTS}"
+
+
+function createDatabaseSchemaForUser() {
+
+  echo "Clear file [$3] to recreate schema for user creation!"
+  echo ""  > "$3"
+  echo "Create database schema/user: $1"
+  if [ -n "$ORACLE_PDB" ]; then
+    echo "ALTER SESSION SET CONTAINER=$ORACLE_PDB;" >>"$3"
+  fi
+  {
+    # magic with double quotes  - first end " then put '"' and then add variable to "$Var" and repeat the stuff :)
+    echo "CREATE USER $1 IDENTIFIED BY "'"'"$2"'"'" DEFAULT TABLESPACE users QUOTA UNLIMITED ON users; "
+    echo "GRANT CREATE SESSION TO $1;"
+    echo "GRANT CREATE TABLE TO $1;"
+    echo "GRANT CREATE VIEW TO $1;"
+    echo "GRANT CREATE SEQUENCE TO $1;"
+    echo "GRANT SELECT ON PENDING_TRANS$ TO $1;"
+    echo ""
+  } >>"$3"
+}
+
+function clearOldContainers {
+  echo "Clear containers and volumes"
+  docker-compose -p "${PREFIX}" rm -s -f -v
+  echo "Clear container data ${WORKING_DIR}/data/"
+  rm -rf ${WORKING_DIR}/data/upload/*.*
+  rm -rf ${WORKING_DIR}/data/smp/config/*.*
+  rm -rf ${WORKING_DIR}/data/smp/security/*.*
+  rm -rf ${WORKING_DIR}/data/weblogic/keystores/*.*
+  rm -rf ${WORKING_DIR}/data/weblogic/security.properties
+  rm -rf ${WORKING_DIR}/data/*.*
+}
+
+createDatabaseSchemaForUser $SMP_DB_USERNAME $SMP_DB_PASSWORD "${SMP_DB_SCRIPTS}/01_create_user.sql"
+
+# create  database init script from 
+echo "CONNECT ${SMP_DB_USERNAME}/${SMP_DB_PASSWORD}@//localhost:1521/${ORA_SERVICE};" > "${SMP_DB_SCRIPTS}/02_oracle10g.sql"
+cat  "${SMP_INIT_DATABASE}" >> "${SMP_DB_SCRIPTS}/02_oracle10g.sql"
+
+
+
+# copy init database data for  SMP    
+if [ ! -f "${SMP_INIT_DATABASE_DATA}" ]
+  then
+  echo "SMP sql init data '${SMP_INIT_DATABASE_DATA} not found!!"
+  exit 1;
+else
+  # copy artefact to docker build folder
+  echo "CONNECT ${SMP_DB_USERNAME}/${SMP_DB_PASSWORD}@//localhost:1521/${ORA_SERVICE};" > "${SMP_DB_SCRIPTS}/03_oracle10g-data.sql"
+  cat  "${SMP_INIT_DATABASE_DATA}" >>  "${SMP_DB_SCRIPTS}/03_oracle10g-data.sql"
+fi
+
+
+# Because statuses are synchronized through folder: ./status-folder it could contain a state from a previous start.
+# Set content of the file database.status to "Database starting"!
+echo "Database starting" > ./status-folder/database.status
+clearOldContainers
+# start 
+export SMP_VERSION
+export ORA_VERSION
+export ORA_EDITION
+
+docker-compose -p ${PREFIX} up -d --force-recreate
+
+
+# wait until service is up
+for i in `seq 200`; do timeout 10  bash -c ' curl --silent --fail http://localhost:7880/smp/'; if [ $? -eq 0  ] ; then break;fi; echo "$i. Wait for weblogic to start!";  sleep 10;  done;
+
diff --git a/smp-docker/compose/weblogic-oracle14/status-folder/.disable_default_excludes b/smp-docker/compose/weblogic-oracle14/status-folder/.disable_default_excludes
new file mode 100644
index 000000000..e5d41c1ef
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/status-folder/.disable_default_excludes
@@ -0,0 +1,4 @@
+.gitignore is excluded when sharing artifacts on bamboo
+http://ant.apache.org/manual/dirtasks.html
+
+And we want this folder to be shared in order to keep the project structure.
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/status-folder/.gitignore b/smp-docker/compose/weblogic-oracle14/status-folder/.gitignore
new file mode 100644
index 000000000..bfed62890
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/status-folder/.gitignore
@@ -0,0 +1,5 @@
+# Ignore everything in this directory
+*
+# Except the following
+!.gitignore
+!.disable_default_excludes
\ No newline at end of file
diff --git a/smp-docker/compose/weblogic-oracle14/stopClearCompose.sh b/smp-docker/compose/weblogic-oracle14/stopClearCompose.sh
new file mode 100755
index 000000000..7b4e9e1ad
--- /dev/null
+++ b/smp-docker/compose/weblogic-oracle14/stopClearCompose.sh
@@ -0,0 +1,26 @@
+#!/bin/bash
+
+WORKING_DIR="$(dirname $0)"
+echo "Working Directory: ${WORKING_DIR}"
+cd "$WORKING_DIR"
+
+PREFIX="smp-wls-orcl"
+
+# clear volume and containers - to run  restart from strach 
+
+
+
+function clearOldContainers {
+  echo "Database stopped"  > ./status-folder/database.status
+
+  echo "Save docker log to docker-file"
+  docker logs ${PREFIX} > smp-container.log 2>&1
+
+  echo "Clear containers and volumes"
+  docker-compose -p "${PREFIX}" rm -s -f -v
+}
+
+
+# stop and clear  
+clearOldContainers
+
diff --git a/smp-docker/images/build-docker-images.sh b/smp-docker/images/build-docker-images.sh
index 8262f77eb..8085b79a3 100755
--- a/smp-docker/images/build-docker-images.sh
+++ b/smp-docker/images/build-docker-images.sh
@@ -8,6 +8,7 @@
 #  - OracleDB: oracle-xe-11.2.0-1.0.x86_64.rpm.zip
 #  - Server JDK 1.8:  server-jre-8u211-linux-x64.tar.gz  (https://github.com/oracle/docker-images/tree/master/OracleJava)
 #  - weblogic 12.2.1.3: fmw_12.2.1.3.0_wls_quick_Disk1_1of1.zip
+#  - weblogic 14.1.1.0: fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip
 # and put them to folder ${ORACLE_ARTEFACTS}
 #
 # 2. build SMP mvn clean install
@@ -28,7 +29,9 @@ ORACLE_DOCKERFILE="Dockerfile.xe"
 
 ORACLE_DB_FILE="${ORACLE_DB11_FILE}"
 SERVER_JDK_FILE="server-jre-8u333-linux-x64.tar.gz"
+SERVER_JDK11_FILE="jdk-11.0.17_linux-x64_bin.tar.gz"
 WEBLOGIC_122_QUICK_FILE="fmw_12.2.1.4.0_wls_quick_Disk1_1of1.zip"
+WEBLOGIC_14_FILE="fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip"
 SMP_VERSION=
 ORACLE_ARTEFACTS="/CEF/repo"
 
@@ -106,16 +109,25 @@ validateAndPrepareArtefacts() {
     cp "${ORACLE_ARTEFACTS}/Oracle/OracleDatabase/${ORA_VERSION}/${ORACLE_DB_FILE}" ./oracle/oracle-db-${ORA_VERSION}/
   fi
 
-  # check server JDK
+  # check server JDK for weblogic 12c
   if [[ ! -f "${ORACLE_ARTEFACTS}/Oracle/Java/${SERVER_JDK_FILE}" ]]; then
     echo "Server JDK artefacts '${ORACLE_ARTEFACTS}/Oracle/Java/${SERVER_JDK_FILE}' not found."
     exit 1
   else
-    # copy artefact to docker build folder
+    # copy artefact to build java for weblogic 12c
     cp "${ORACLE_ARTEFACTS}/Oracle/Java/${SERVER_JDK_FILE}" ./oracle/OracleJava/java-8/
   fi
 
-  # check weblogic
+  # check server JDK for weblogic 14c
+    if [[ ! -f "${ORACLE_ARTEFACTS}/Oracle/Java/${SERVER_JDK11_FILE}" ]]; then
+      echo "Server JDK artefacts '${ORACLE_ARTEFACTS}/Oracle/Java/${SERVER_JDK11_FILE}' not found."
+      exit 1
+    else
+      # copy artefact to build java for weblogic 12c
+      cp "${ORACLE_ARTEFACTS}/Oracle/Java/${SERVER_JDK11_FILE}" ./oracle/OracleJava/java-11/
+    fi
+
+  # check weblogic 12c
   if [[ ! -f "${ORACLE_ARTEFACTS}/${WEBLOGIC_122_QUICK_FILE}" ]]; then
     echo "Weblogic artefacts '${ORACLE_ARTEFACTS}/${WEBLOGIC_122_QUICK_FILE}' not found."
     exit 1
@@ -124,10 +136,25 @@ validateAndPrepareArtefacts() {
     cp "${ORACLE_ARTEFACTS}/${WEBLOGIC_122_QUICK_FILE}" ./oracle/weblogic-12.2.1.4/
   fi
 
+  # WeblLogic 14c
+  if [[ ! -f "${ORACLE_ARTEFACTS}/${WEBLOGIC_14_FILE}" ]]; then
+      echo "Weblogic artefacts '${ORACLE_ARTEFACTS}/${WEBLOGIC_14_FILE}' not found."
+      exit 1
+    else
+      # copy artefact to docker build folder
+      cp "${ORACLE_ARTEFACTS}/${WEBLOGIC_14_FILE}" ./oracle/weblogic-14.1.1.0/
+    fi
+
+
+
   if [[ ! -d "./tomcat-mysql-smp-sml/artefacts/" ]]; then
     mkdir -p "./tomcat-mysql-smp-sml/artefacts"
   fi
 
+  if [[ ! -d "./weblogic-14.1-smp/artefacts/" ]]; then
+      mkdir -p "./weblogic-14.1-smp/artefacts"
+    fi
+
   if [[ ! -d "./weblogic-12.2-smp/artefacts" ]]; then
     mkdir -p "./weblogic-12.2-smp/artefacts"
   fi
@@ -140,6 +167,7 @@ validateAndPrepareArtefacts() {
     # copy artefact to docker build folder
     # for weblogic
     cp "${SMP_ARTEFACTS}/smp.war" ./weblogic-12.2-smp/artefacts/smp.war
+    cp "${SMP_ARTEFACTS}/smp.war" ./weblogic-14.1-smp/artefacts/smp.war
     # for mysql tomcat
     cp "${SMP_ARTEFACTS}/smp.war" ./tomcat-mysql-smp-sml/artefacts/smp.war
   fi
@@ -151,6 +179,7 @@ validateAndPrepareArtefacts() {
   else
     # copy artefact to docker build folder
     cp "${SMP_ARTEFACTS}/smp-${SMP_VERSION}-setup.zip" ./weblogic-12.2-smp/artefacts/smp-setup.zip
+    cp "${SMP_ARTEFACTS}/smp-${SMP_VERSION}-setup.zip" ./weblogic-14.1-smp/artefacts/smp-setup.zip
     cp "${SMP_ARTEFACTS}/smp-${SMP_VERSION}-setup.zip" ./tomcat-mysql-smp-sml/artefacts/smp-setup.zip
   fi
 
@@ -167,9 +196,11 @@ validateAndPrepareArtefacts() {
 # build docker images
 # -----------------------------------------------------------------------------
 buildImages() {
-  buildOracleDatabaseImage
-  buildWebLogicOracleImages
-  buildTomcatMysqlImages
+  #buildOracleDatabaseImage
+  #buildWebLogicOracleImages12
+  buildWebLogicOracleImages14
+  #buildTomcatMysqlImages
+  #buildUtils
 }
 buildTomcatMysqlImages() {
     # build tomcat mysql image  deployment.
@@ -192,7 +223,7 @@ buildOracleDatabaseImage(){
   fi
 }
 
-buildWebLogicOracleImages(){
+buildWebLogicOracleImages12(){
   # -----------------------------------------------------------------------------
   # build docker image for oracle database
   # -----------------------------------------------------------------------------
@@ -216,6 +247,43 @@ buildWebLogicOracleImages(){
     echo "Error occurred while building image [smp-weblogic-122:${SMP_VERSION}]!"
     exit 10
   fi
+
+}
+
+buildUtils(){
+ # build the httpd image for LB. The Http is configured to allow encoded characters which
+  # are not decoded!
+  docker build -t "smp-httpd:${SMP_VERSION}" ./smp-httpd/
+   if [ $? -ne 0 ]; then
+     echo "Error occurred while building image [smp-httpd:${SMP_VERSION}]!"
+     exit 10
+   fi
+}
+
+buildWebLogicOracleImages14(){
+  # -----------------------------------------------------------------------------
+  # build docker image for oracle database
+  # -----------------------------------------------------------------------------
+  # create docker OS image with java (https://github.com/oracle/docker-images/tree/master/OracleJava/java-11)
+  docker build -t oracle/jdk:11 ./oracle/OracleJava/java-11/
+  if [ $? -ne 0 ]; then
+    echo "Error occurred while building image for oracle server-java!"
+    exit 10
+  fi
+
+  # create weblogic basic (https://github.com/oracle/docker-images/tree/master/OracleWebLogic/dockerfiles/14.1.1.0)
+  docker build -f ./oracle/weblogic-14.1.1.0/Dockerfile.generic-11 -t oracle/weblogic:14.1.1.0-generic ./oracle/weblogic-14.1.1.0/
+  if [ $? -ne 0 ]; then
+    echo "Error occurred while building image for oracle weblogic:14.1.1.0 server!"
+    exit 10
+  fi
+
+  # build SMP deployment.
+  docker build -t "smp-weblogic-141:${SMP_VERSION}" ./weblogic-14.1-smp/ --build-arg SMP_VERSION="$SMP_VERSION"
+  if [ $? -ne 0 ]; then
+    echo "Error occurred while building image [smp-weblogic-141:${SMP_VERSION}]!"
+    exit 10
+  fi
  # build the httpd image for LB. The Http is configured to allow encoded characters which
  # are not decoded!
  docker build -t "smp-httpd:${SMP_VERSION}" ./smp-httpd/
diff --git a/smp-docker/images/oracle/OracleJava/java-11/Dockerfile b/smp-docker/images/oracle/OracleJava/java-11/Dockerfile
new file mode 100644
index 000000000..7d51bc466
--- /dev/null
+++ b/smp-docker/images/oracle/OracleJava/java-11/Dockerfile
@@ -0,0 +1,92 @@
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
+#
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This is the Dockerfile for Oracle JDK 11
+#
+# REQUIRED FILES TO BUILD THIS IMAGE
+# ----------------------------------
+#
+# (1) jdk-11.XX_linux-x64_bin.tar.gz or jdk-11.XX_linux-aarch64_bin.tar.gz
+#     Download from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Put all downloaded files in the same directory as this Dockerfile
+# Run:
+#      $ docker build -t oracle/jdk:11 .
+#
+# This command is already scripted in build.sh so you can alternatively run
+#		$ bash build.sh
+#
+# The builder image will be used to uncompress the tar.gz file with the Java Runtime.
+
+FROM oraclelinux:7-slim as builder
+
+MAINTAINER Aurelio Garcia-Ribeyro <aurelio.garciaribeyro@oracle.com>
+
+RUN set -eux; \
+	yum install -y \
+		gzip \
+		tar;
+	
+# Default to UTF-8 file.encoding
+ENV LANG en_US.UTF-8
+
+
+# Environment variables for the builder image.
+# Required to validate that you are using the correct file
+
+ENV JAVA_HOME=/usr/java/jdk-11
+
+##
+COPY *.tar.gz /tmp/
+RUN set -eux; \
+	ARCH=$(uname -m) && \
+    if [ "$ARCH" == "x86_64" ]; \
+    then \
+		mv $(ls /tmp/jdk-11*_linux-x64_bin.tar.gz) /tmp/jdk.tar.gz ; \
+        JAVA_SHA256=ec4e2d98dae4a5342543b8c37cc764f9c0069d358522919c70ccde374fbe199a ; \
+    else \
+	    mv $(ls /tmp/jdk-11*_linux-aarch64_bin.tar.gz) /tmp/jdk.tar.gz ; \
+    	JAVA_SHA256=d68bb1a266d78869111f038a61ba0c88658e87f7fcf9b776f1159d92d5b823b6 ; \
+    fi && \
+	echo "$JAVA_SHA256 */tmp/jdk.tar.gz" | sha256sum -c -; \
+	mkdir -p "$JAVA_HOME"; \
+	tar --extract --file /tmp/jdk.tar.gz --directory "$JAVA_HOME" --strip-components 1
+	
+## Get a fresh version of SLIM for the final image	
+FROM oraclelinux:7-slim
+
+# Default to UTF-8 file.encoding
+ENV LANG en_US.UTF-8
+
+ENV JAVA_VERSION=11.0.17 \
+	JAVA_HOME=/usr/java/jdk-11
+
+ENV	PATH $JAVA_HOME/bin:$PATH	
+
+# Copy the uncompressed Java Runtime from the builder image
+COPY --from=builder $JAVA_HOME $JAVA_HOME
+
+RUN set -eux; \
+# Update the base image
+	yum -y update; \
+	yum install -y \
+# JDK assumes freetype is available		
+		freetype fontconfig \
+	; \
+	rm -rf /var/cache/yum; \
+	ln -sfT "$JAVA_HOME" /usr/java/default; \
+	ln -sfT "$JAVA_HOME" /usr/java/latest; \
+	for bin in "$JAVA_HOME/bin/"*; do \
+		base="$(basename "$bin")"; \
+		[ ! -e "/usr/bin/$base" ]; \
+		alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
+	done; \
+# -Xshare:dump will create a CDS archive to improve startup in subsequent runs	
+	java -Xshare:dump; 
+
+CMD ["jshell"]
diff --git a/smp-docker/images/oracle/OracleJava/java-11/Dockerfile.8 b/smp-docker/images/oracle/OracleJava/java-11/Dockerfile.8
new file mode 100644
index 000000000..84ec85014
--- /dev/null
+++ b/smp-docker/images/oracle/OracleJava/java-11/Dockerfile.8
@@ -0,0 +1,89 @@
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
+#
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This is the Dockerfile for Oracle JDK 11
+#
+# REQUIRED FILES TO BUILD THIS IMAGE
+# ----------------------------------
+#
+# (1) jdk-11.XX_linux-x64_bin.tar.gz or jdk-11.XX_linux-aarch64_bin.tar.gz
+#     Download from https://www.oracle.com/java/technologies/javase-jdk11-downloads.html
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Put all downloaded files in the same directory as this Dockerfile
+# Run:
+#      $ docker build -t oracle/jdk:11 .
+#
+# This command is already scripted in build.sh so you can alternatively run
+#		$ bash build.sh
+#
+# The builder image will be used to uncompress the tar.gz file with the Java Runtime.
+
+FROM oraclelinux:8 as builder
+
+MAINTAINER Aurelio Garcia-Ribeyro <aurelio.garciaribeyro@oracle.com>
+
+RUN set -eux; \
+	dnf install -y tar;
+
+# Default to UTF-8 file.encoding
+ENV LANG en_US.UTF-8
+
+
+# Environment variables for the builder image.
+# Required to validate that you are using the correct file
+
+ENV JAVA_HOME=/usr/java/jdk-11
+
+##
+COPY *.tar.gz /tmp/
+RUN set -eux; \
+	ARCH=$(uname -m) && \
+    if [ "$ARCH" == "x86_64" ]; \
+    then \
+		mv $(ls /tmp/jdk-11*_linux-x64_bin.tar.gz) /tmp/jdk.tar.gz ; \
+        JAVA_SHA256=ec4e2d98dae4a5342543b8c37cc764f9c0069d358522919c70ccde374fbe199a ; \
+    else \
+	    mv $(ls /tmp/jdk-11*_linux-aarch64_bin.tar.gz) /tmp/jdk.tar.gz ; \
+    	JAVA_SHA256=d68bb1a266d78869111f038a61ba0c88658e87f7fcf9b776f1159d92d5b823b6 ; \
+    fi && \
+	echo "$JAVA_SHA256 */tmp/jdk.tar.gz" | sha256sum -c -; \
+	mkdir -p "$JAVA_HOME"; \
+	tar --extract --file /tmp/jdk.tar.gz --directory "$JAVA_HOME" --strip-components 1
+
+## Get a fresh version of OL8 for the final image
+FROM oraclelinux:8
+
+# Default to UTF-8 file.encoding
+ENV LANG en_US.UTF-8
+
+ENV JAVA_VERSION=11.0.17 \
+	JAVA_HOME=/usr/java/jdk-11
+
+ENV	PATH $JAVA_HOME/bin:$PATH
+
+# Copy the uncompressed Java Runtime from the builder image
+COPY --from=builder $JAVA_HOME $JAVA_HOME
+
+RUN set -eux; \
+	dnf -y update; \
+	dnf install -y \
+# JDK assumes freetype is available
+		freetype fontconfig \
+	; \
+	rm -rf /var/cache/dnf; \
+	ln -sfT "$JAVA_HOME" /usr/java/default; \
+	ln -sfT "$JAVA_HOME" /usr/java/latest; \
+	for bin in "$JAVA_HOME/bin/"*; do \
+		base="$(basename "$bin")"; \
+		[ ! -e "/usr/bin/$base" ]; \
+		alternatives --install "/usr/bin/$base" "$base" "$bin" 20000; \
+	done; \
+# -Xshare:dump will create a CDS archive to improve startup in subsequent runs
+	java -Xshare:dump;
+
+CMD ["jshell"]
diff --git a/smp-docker/images/oracle/OracleJava/java-11/build.sh b/smp-docker/images/oracle/OracleJava/java-11/build.sh
new file mode 100755
index 000000000..30d613135
--- /dev/null
+++ b/smp-docker/images/oracle/OracleJava/java-11/build.sh
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Copyright (c) 2019, 2022 Oracle and/or its affiliates.
+#
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+
+if test "$1" = "8"
+then
+	echo "Building Oracle JDK 11 on Oracle Linux 8"
+	docker build --file Dockerfile.8 --tag oracle/jdk:11-oraclelinux8 .
+else
+	echo "Building Oracle JDK 11 on Oracle Linux 7 slim"
+	docker build --tag oracle/jdk:11 --tag oracle/jdk:11-oraclelinux7 .
+fi
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.developer b/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.developer
new file mode 100755
index 000000000..b52a26b1d
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.developer
@@ -0,0 +1,6 @@
+# Download Oracle WebLogic Server Quick Installer 14.1.1.0
+# 
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html 
+#
+98864371d75ed66955c1ea0e44e4d24d fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip
+
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.generic b/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.generic
new file mode 100755
index 000000000..537206a2a
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.generic
@@ -0,0 +1,5 @@
+# Download Oracle WebLogic Server Generic Installer 14.1.1.0
+# 
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html 
+#
+3c4121df175e51f46a846f1f65e41587 fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.slim b/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.slim
new file mode 100755
index 000000000..54206c6ab
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Checksum.slim
@@ -0,0 +1,5 @@
+# Download Oracle WebLogic Server Slim Installer 14.1.1.0
+# 
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html 
+#
+29abef195b8c5b15210d60f2b42ee899 fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.developer-11 b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.developer-11
new file mode 100755
index 000000000..6a2947d8a
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.developer-11
@@ -0,0 +1,108 @@
+# Copyright (c) 2020 Oracle and/or its affiliates. 
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This is the Dockerfile for WebLogic 14.1.1.0 Quick Install Distro
+#
+# REQUIRED FILES TO BUILD THIS IMAGE
+# ----------------------------------
+# fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip
+# Download the Developer Quick installer from http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Put all downloaded files in the same directory as this Dockerfile
+# Run:
+#      $ docker build -f Dockerfile.developer -t oracle/weblogic:14.1.1.0-developer .
+#
+# IMPORTANT
+# ---------
+# The resulting image of this Dockerfile contains a WLS Empty Domain.
+#
+# From the Oracle Docker GitHub Project
+# --------------------------------------
+FROM oracle/jdk:11 as builder
+
+# Labels
+# ------
+LABEL "provider"="Oracle"                                               \
+      "maintainer"="Monica Riccelli <monica.riccelli@oracle.com>"       \
+      "issues"="https://github.com/oracle/docker-images/issues"         \
+      "port.admin.listen"="7001"                                        \
+      "port.administration"="9002"
+
+# Common environment variables required for this build (do NOT change)
+# --------------------------------------------------------------------
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root -R /u01 && \
+    chmod -R 775 /u01
+
+# Environment variables required for this build (do NOT change)
+# -------------------------------------------------------------
+ENV FMW_PKG=fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip \ 
+    FMW_JAR=fmw_14.1.1.0.0_wls_lite_quick_generic.jar
+
+# Copy packages
+# -------------
+COPY --chown=oracle:root $FMW_PKG install.file oraInst.loc /u01/
+
+# Install
+# ------------------------------------------------------------
+USER oracle
+RUN cd /u01 && ${JAVA_HOME}/bin/jar xf /u01/$FMW_PKG && cd - && \
+    ${JAVA_HOME}/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME && \
+    rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/install.file && \
+    rm -rf /u01/oracle/cfgtoollogs
+
+# Final image stage
+FROM oracle/jdk:11
+
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    SCRIPT_FILE=/u01/oracle/createAndStartEmptyDomain.sh \
+    HEALTH_SCRIPT_FILE=/u01/oracle/get_healthcheck_url.sh \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Domain and Server environment variables
+# ------------------------------------------------------------
+ENV DOMAIN_NAME="${DOMAIN_NAME:-base_domain}" \
+    ADMIN_LISTEN_PORT="${ADMIN_LISTEN_PORT:-7001}"  \
+    ADMIN_NAME="${ADMIN_NAME:-AdminServer}" \
+    DEBUG_FLAG=true \
+    PRODUCTION_MODE=dev \
+    ADMINISTRATION_PORT_ENABLED="${ADMINISTRATION_PORT_ENABLED:-true}" \
+    ADMINISTRATION_PORT="${ADMINISTRATION_PORT:-9002}"
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir -p /u01 && \
+    chmod 775 /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root /u01
+
+COPY --from=builder --chown=oracle:root /u01 /u01
+
+# Copy scripts
+#-------------
+COPY container-scripts/createAndStartEmptyDomain.sh container-scripts/create-wls-domain.py container-scripts/get_healthcheck_url.sh /u01/oracle/
+
+RUN chmod +xr $SCRIPT_FILE $HEALTH_SCRIPT_FILE && \
+    chown oracle:root $SCRIPT_FILE /u01/oracle/create-wls-domain.py $HEALTH_SCRIPT_FILE
+
+USER oracle
+
+HEALTHCHECK --start-period=10s --timeout=30s --retries=3 CMD curl -k -s --fail `$HEALTH_SCRIPT_FILE` || exit 1
+WORKDIR ${ORACLE_HOME}
+
+# Define default command to start script.
+CMD ["/u01/oracle/createAndStartEmptyDomain.sh"]
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.developer-8 b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.developer-8
new file mode 100755
index 000000000..11e75381b
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.developer-8
@@ -0,0 +1,108 @@
+# Copyright (c) 2020 Oracle and/or its affiliates. 
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This is the Dockerfile for WebLogic 14.1.1.0 Quick Install Distro
+#
+# REQUIRED FILES TO BUILD THIS IMAGE
+# ----------------------------------
+# fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip
+# Download the Developer Quick installer from http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Put all downloaded files in the same directory as this Dockerfile
+# Run:
+#      $ docker build -f Dockerfile.developer -t oracle/weblogic:14.1.1.0-developer .
+#
+# IMPORTANT
+# ---------
+# The resulting image of this Dockerfile contains a WLS Empty Domain.
+#
+# From the Oracle Docker GitHub Project
+# --------------------------------------
+FROM oracle/serverjre:8 as builder
+
+# Labels
+# ------
+LABEL "provider"="Oracle"                                               \
+      "maintainer"="Monica Riccelli <monica.riccelli@oracle.com>"       \
+      "issues"="https://github.com/oracle/docker-images/issues"         \
+      "port.admin.listen"="7001"                                        \
+      "port.administration"="9002"
+
+# Common environment variables required for this build (do NOT change)
+# --------------------------------------------------------------------
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root -R /u01 && \
+    chmod -R 775 /u01
+
+# Environment variables required for this build (do NOT change)
+# -------------------------------------------------------------
+ENV FMW_PKG=fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip \ 
+    FMW_JAR=fmw_14.1.1.0.0_wls_lite_quick_generic.jar
+
+# Copy packages
+# -------------
+COPY --chown=oracle:root $FMW_PKG install.file oraInst.loc /u01/
+
+# Install
+# ------------------------------------------------------------
+USER oracle
+RUN cd /u01 && ${JAVA_HOME}/bin/jar xf /u01/$FMW_PKG && cd - && \
+    ${JAVA_HOME}/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME && \
+    rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/install.file && \
+    rm -rf /u01/oracle/cfgtoollogs
+
+# Final image stage
+FROM oracle/serverjre:8
+
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    SCRIPT_FILE=/u01/oracle/createAndStartEmptyDomain.sh \
+    HEALTH_SCRIPT_FILE=/u01/oracle/get_healthcheck_url.sh \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Domain and Server environment variables
+# ------------------------------------------------------------
+ENV DOMAIN_NAME="${DOMAIN_NAME:-base_domain}" \
+    ADMIN_LISTEN_PORT="${ADMIN_LISTEN_PORT:-7001}"  \
+    ADMIN_NAME="${ADMIN_NAME:-AdminServer}" \
+    DEBUG_FLAG=true \
+    PRODUCTION_MODE=dev \
+    ADMINISTRATION_PORT_ENABLED="${ADMINISTRATION_PORT_ENABLED:-true}" \
+    ADMINISTRATION_PORT="${ADMINISTRATION_PORT:-9002}"
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir -p /u01 && \
+    chmod 775 /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root /u01
+
+COPY --from=builder --chown=oracle:root /u01 /u01
+
+# Copy scripts
+#-------------
+COPY container-scripts/createAndStartEmptyDomain.sh container-scripts/create-wls-domain.py container-scripts/get_healthcheck_url.sh /u01/oracle/
+
+RUN chmod +xr $SCRIPT_FILE $HEALTH_SCRIPT_FILE && \
+    chown oracle:root $SCRIPT_FILE /u01/oracle/create-wls-domain.py $HEALTH_SCRIPT_FILE
+
+USER oracle
+
+HEALTHCHECK --start-period=10s --timeout=30s --retries=3 CMD curl -k -s --fail `$HEALTH_SCRIPT_FILE` || exit 1
+WORKDIR ${ORACLE_HOME}
+
+# Define default command to start script.
+CMD ["/u01/oracle/createAndStartEmptyDomain.sh"]
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.generic-11 b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.generic-11
new file mode 100755
index 000000000..f322379c4
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.generic-11
@@ -0,0 +1,108 @@
+# Copyright (c) 2020 Oracle and/or its affiliates.
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This is the Dockerfile for Oracle WebLogic Server 14.1.1.0 Generic Distro
+#
+# REQUIRED FILES TO BUILD THIS IMAGE
+# ----------------------------------
+# fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip
+# Download the Generic installer from http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Put all downloaded files in the same directory as this Dockerfile
+# Run:
+#      $ docker build -f Dockerfile.generic -t oracle/weblogic:14.1.1.0-generic .
+#
+# IMPORTANT
+# ---------
+# The resulting image of this Dockerfile contains a WLS Empty Domain.
+#
+# From the Oracle Docker GitHub Project
+# --------------------------------------
+FROM oracle/jdk:11 as builder
+
+# Labels
+# ------
+LABEL "provider"="Oracle"                                               \
+      "maintainer"="Monica Riccelli <monica.riccelli@oracle.com>"       \
+      "issues"="https://github.com/oracle/docker-images/issues"         \
+      "port.admin.listen"="7001"                                        \
+      "port.administration"="9002"
+
+
+# Common environment variables required for this build (do NOT change)
+# --------------------------------------------------------------------
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root -R /u01 && \
+    chmod -R 775 /u01
+
+# Environment variables required for this build (do NOT change)
+# -------------------------------------------------------------
+ENV FMW_PKG=fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip \
+    FMW_JAR=fmw_14.1.1.0.0_wls_lite_generic.jar
+
+# Copy packages
+# -------------
+COPY --chown=oracle:root $FMW_PKG install.file oraInst.loc /u01/
+
+# Install
+# ------------------------------------------------------------
+USER oracle
+
+RUN cd /u01 && ${JAVA_HOME}/bin/jar xf /u01/$FMW_PKG && cd - && \
+    ${JAVA_HOME}/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE="WebLogic Server" && \
+    rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/install.file && \
+    rm -rf /u01/oracle/cfgtoollogs
+
+# Final image stage
+FROM oracle/jdk:11
+
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    SCRIPT_FILE=/u01/oracle/createAndStartEmptyDomain.sh \
+    HEALTH_SCRIPT_FILE=/u01/oracle/get_healthcheck_url.sh \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Domain and Server environment variables
+# ------------------------------------------------------------
+ENV DOMAIN_NAME="${DOMAIN_NAME:-base_domain}" \
+    ADMIN_LISTEN_PORT="${ADMIN_LISTEN_PORT:-7001}" \
+    ADMIN_NAME="${ADMIN_NAME:-AdminServer}" \
+    ADMINISTRATION_PORT_ENABLED="${ADMINISTRATION_PORT_ENABLED:-true}" \
+    ADMINISTRATION_PORT="${ADMINISTRATION_PORT:-9002}"
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir -p /u01 && \
+    chmod 775 /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root /u01
+
+COPY --from=builder --chown=oracle:root /u01 /u01
+
+# Copy scripts
+#-------------
+COPY container-scripts/createAndStartEmptyDomain.sh container-scripts/create-wls-domain.py container-scripts/get_healthcheck_url.sh /u01/oracle/
+
+RUN chmod +xr $SCRIPT_FILE $HEALTH_SCRIPT_FILE && \
+    chown oracle:root $SCRIPT_FILE /u01/oracle/create-wls-domain.py $HEALTH_SCRIPT_FILE
+
+USER oracle
+
+HEALTHCHECK --start-period=10s --timeout=30s --retries=3 CMD curl -k -s --fail `$HEALTH_SCRIPT_FILE` || exit 1
+WORKDIR ${ORACLE_HOME}
+
+# Define default command to start script.
+CMD ["/u01/oracle/createAndStartEmptyDomain.sh"]
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.generic-8 b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.generic-8
new file mode 100755
index 000000000..7fe3d241d
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.generic-8
@@ -0,0 +1,108 @@
+# Copyright (c) 2020 Oracle and/or its affiliates.
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This is the Dockerfile for Oracle WebLogic Server 14.1.1.0 Generic Distro
+#
+# REQUIRED FILES TO BUILD THIS IMAGE
+# ----------------------------------
+# fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip
+# Download the Generic installer from http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Put all downloaded files in the same directory as this Dockerfile
+# Run:
+#      $ docker build -f Dockerfile.generic -t oracle/weblogic:14.1.1.0-generic .
+#
+# IMPORTANT
+# ---------
+# The resulting image of this Dockerfile contains a WLS Empty Domain.
+#
+# From the Oracle Docker GitHub Project
+# --------------------------------------
+FROM oracle/serverjre:8 as builder
+
+# Labels
+# ------
+LABEL "provider"="Oracle"                                               \
+      "maintainer"="Monica Riccelli <monica.riccelli@oracle.com>"       \
+      "issues"="https://github.com/oracle/docker-images/issues"         \
+      "port.admin.listen"="7001"                                        \
+      "port.administration"="9002"
+
+
+# Common environment variables required for this build (do NOT change)
+# --------------------------------------------------------------------
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root -R /u01 && \
+    chmod -R 775 /u01
+
+# Environment variables required for this build (do NOT change)
+# -------------------------------------------------------------
+ENV FMW_PKG=fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip \
+    FMW_JAR=fmw_14.1.1.0.0_wls_lite_generic.jar
+
+# Copy packages
+# -------------
+COPY --chown=oracle:root $FMW_PKG install.file oraInst.loc /u01/
+
+# Install
+# ------------------------------------------------------------
+USER oracle
+
+RUN cd /u01 && ${JAVA_HOME}/bin/jar xf /u01/$FMW_PKG && cd - && \
+    ${JAVA_HOME}/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME INSTALL_TYPE="WebLogic Server" && \
+    rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/install.file && \
+    rm -rf /u01/oracle/cfgtoollogs
+
+# Final image stage
+FROM oracle/serverjre:8
+
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    SCRIPT_FILE=/u01/oracle/createAndStartEmptyDomain.sh \
+    HEALTH_SCRIPT_FILE=/u01/oracle/get_healthcheck_url.sh \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Domain and Server environment variables
+# ------------------------------------------------------------
+ENV DOMAIN_NAME="${DOMAIN_NAME:-base_domain}" \
+    ADMIN_LISTEN_PORT="${ADMIN_LISTEN_PORT:-7001}" \
+    ADMIN_NAME="${ADMIN_NAME:-AdminServer}" \
+    ADMINISTRATION_PORT_ENABLED="${ADMINISTRATION_PORT_ENABLED:-true}" \
+    ADMINISTRATION_PORT="${ADMINISTRATION_PORT:-9002}"
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir -p /u01 && \
+    chmod 775 /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root /u01
+
+COPY --from=builder --chown=oracle:root /u01 /u01
+
+# Copy scripts
+#-------------
+COPY container-scripts/createAndStartEmptyDomain.sh container-scripts/create-wls-domain.py container-scripts/get_healthcheck_url.sh /u01/oracle/
+
+RUN chmod +xr $SCRIPT_FILE $HEALTH_SCRIPT_FILE && \
+    chown oracle:root $SCRIPT_FILE /u01/oracle/create-wls-domain.py $HEALTH_SCRIPT_FILE
+
+USER oracle
+
+HEALTHCHECK --start-period=10s --timeout=30s --retries=3 CMD curl -k -s --fail `$HEALTH_SCRIPT_FILE` || exit 1
+WORKDIR ${ORACLE_HOME}
+
+# Define default command to start script.
+CMD ["/u01/oracle/createAndStartEmptyDomain.sh"]
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.slim-11 b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.slim-11
new file mode 100755
index 000000000..a2cedef26
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.slim-11
@@ -0,0 +1,110 @@
+# Copyright (c) 2020 Oracle and/or its affiliates.
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This is the Dockerfile for Oracle WebLogic Server 14.1.1.0 Slim Distro
+#
+# REQUIRED FILES TO BUILD THIS IMAGE
+# ----------------------------------
+# fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip
+# Download the Slim installer from http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Put all downloaded files in the same directory as this Dockerfile
+# Run:
+#      $ docker build -f Dockerfile.slim -t oracle/weblogic:14.1.1.0-slim .
+#
+# IMPORTANT
+# ---------
+# The resulting image of this Dockerfile contains a WLS Empty Domain.
+#
+# From the Oracle Docker GitHub Project
+# ----------------------------------------
+FROM oracle/jdk:11 as builder
+
+# Labels
+# ------
+LABEL provider="Oracle"                                               \
+      maintainer="Monica Riccelli <monica.riccelli@oracle.com>"       \
+      issues="https://github.com/oracle/docker-images/issues"         \
+      "port.admin.listen"="7001"                                      \
+      "port.administration"="9002"
+
+
+# Common environment variables required for this build (do NOT change)
+# --------------------------------------------------------------------
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root -R /u01 && \
+    chmod -R 775 /u01
+
+# Environment variables required for this build (do NOT change)
+# -------------------------------------------------------------
+ENV FMW_PKG=fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip \
+    FMW_JAR=fmw_14.1.1.0.0_wls_lite_quick_slim_generic.jar
+
+# Copy packages
+# -------------
+COPY --chown=oracle:root $FMW_PKG install.file oraInst.loc /u01/
+
+# Install
+# ------------------------------------------------------------
+USER oracle
+
+RUN cd /u01 && ${JAVA_HOME}/bin/jar xf /u01/$FMW_PKG && cd - && \
+    ${JAVA_HOME}/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME && \
+    rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/install.file && \
+    rm -rf /u01/oracle/cfgtoollogs
+
+# Final image stage
+FROM oracle/jdk:11
+
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    SCRIPT_FILE=/u01/oracle/createAndStartEmptyDomain.sh \
+    HEALTH_SCRIPT_FILE=/u01/oracle/get_healthcheck_url.sh \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Domain and Server environment variables
+# ------------------------------------------------------------
+ENV DOMAIN_NAME="${DOMAIN_NAME:-base_domain}" \
+    ADMIN_LISTEN_PORT="${ADMIN_LISTEN_PORT:-7001}" \
+    ADMIN_NAME="${ADMIN_NAME:-AdminServer}" \
+    ADMINISTRATION_PORT_ENABLED="${ADMINISTRATION_PORT_ENABLED:-true}" \
+    ADMINISTRATION_PORT="${ADMINISTRATION_PORT:-9002}" \
+    DEBUG_flag=false \
+    PRODUCTION_MODE=prod
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir -p /u01 && \
+    chmod 775 /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root /u01
+
+COPY --from=builder --chown=oracle:root /u01 /u01
+
+# Copy scripts
+#-------------
+COPY container-scripts/createAndStartEmptyDomain.sh container-scripts/create-wls-domain.py container-scripts/get_healthcheck_url.sh /u01/oracle/
+
+RUN chmod +xr $SCRIPT_FILE $HEALTH_SCRIPT_FILE && \
+    chown oracle:root $SCRIPT_FILE /u01/oracle/create-wls-domain.py $HEALTH_SCRIPT_FILE
+
+USER oracle
+
+HEALTHCHECK --start-period=10s --timeout=30s --retries=3 CMD curl -k -s --fail `$HEALTH_SCRIPT_FILE` || exit 1
+WORKDIR ${ORACLE_HOME}
+
+# Define default command to start script.
+CMD ["/u01/oracle/createAndStartEmptyDomain.sh"]
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.slim-8 b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.slim-8
new file mode 100755
index 000000000..00c4896d8
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/Dockerfile.slim-8
@@ -0,0 +1,110 @@
+# Copyright (c) 2020 Oracle and/or its affiliates.
+# Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This is the Dockerfile for Oracle WebLogic Server 14.1.1.0 Slim Distro
+#
+# REQUIRED FILES TO BUILD THIS IMAGE
+# ----------------------------------
+# fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip
+# Download the Slim installer from http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Put all downloaded files in the same directory as this Dockerfile
+# Run:
+#      $ docker build -f Dockerfile.slim -t oracle/weblogic:14.1.1.0-slim .
+#
+# IMPORTANT
+# ---------
+# The resulting image of this Dockerfile contains a WLS Empty Domain.
+#
+# From the Oracle Docker GitHub Project
+# ----------------------------------------
+FROM oracle/serverjre:8 as builder
+
+# Labels
+# ------
+LABEL provider="Oracle"                                               \
+      maintainer="Monica Riccelli <monica.riccelli@oracle.com>"       \
+      issues="https://github.com/oracle/docker-images/issues"         \
+      "port.admin.listen"="7001"                                      \
+      "port.administration"="9002"
+
+
+# Common environment variables required for this build (do NOT change)
+# --------------------------------------------------------------------
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root -R /u01 && \
+    chmod -R 775 /u01
+
+# Environment variables required for this build (do NOT change)
+# -------------------------------------------------------------
+ENV FMW_PKG=fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip \
+    FMW_JAR=fmw_14.1.1.0.0_wls_lite_quick_slim_generic.jar
+
+# Copy packages
+# -------------
+COPY --chown=oracle:root $FMW_PKG install.file oraInst.loc /u01/
+
+# Install
+# ------------------------------------------------------------
+USER oracle
+
+RUN cd /u01 && ${JAVA_HOME}/bin/jar xf /u01/$FMW_PKG && cd - && \
+    ${JAVA_HOME}/bin/java -jar /u01/$FMW_JAR -silent -responseFile /u01/install.file -invPtrLoc /u01/oraInst.loc -jreLoc $JAVA_HOME -ignoreSysPrereqs -force -novalidation ORACLE_HOME=$ORACLE_HOME && \
+    rm /u01/$FMW_JAR /u01/$FMW_PKG /u01/install.file && \
+    rm -rf /u01/oracle/cfgtoollogs
+
+# Final image stage
+FROM oracle/serverjre:8
+
+ENV ORACLE_HOME=/u01/oracle \
+    USER_MEM_ARGS="-Djava.security.egd=file:/dev/./urandom" \
+    SCRIPT_FILE=/u01/oracle/createAndStartEmptyDomain.sh \
+    HEALTH_SCRIPT_FILE=/u01/oracle/get_healthcheck_url.sh \
+    PATH=$PATH:${JAVA_HOME}/bin:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin
+
+# Domain and Server environment variables
+# ------------------------------------------------------------
+ENV DOMAIN_NAME="${DOMAIN_NAME:-base_domain}" \
+    ADMIN_LISTEN_PORT="${ADMIN_LISTEN_PORT:-7001}" \
+    ADMIN_NAME="${ADMIN_NAME:-AdminServer}" \
+    ADMINISTRATION_PORT_ENABLED="${ADMINISTRATION_PORT_ENABLED:-true}" \
+    ADMINISTRATION_PORT="${ADMINISTRATION_PORT:-9002}" \
+    DEBUG_flag=false \
+    PRODUCTION_MODE=prod
+
+# Setup filesystem and oracle user
+# Adjust file permissions, go to /u01 as user 'oracle' to proceed with WLS installation
+# ------------------------------------------------------------
+RUN mkdir -p /u01 && \
+    chmod 775 /u01 && \
+    useradd -b /u01 -d /u01/oracle -m -s /bin/bash oracle && \
+    chown oracle:root /u01
+
+COPY --from=builder --chown=oracle:root /u01 /u01
+
+# Copy scripts
+#-------------
+COPY container-scripts/createAndStartEmptyDomain.sh container-scripts/create-wls-domain.py container-scripts/get_healthcheck_url.sh /u01/oracle/
+
+RUN chmod +xr $SCRIPT_FILE $HEALTH_SCRIPT_FILE && \
+    chown oracle:root $SCRIPT_FILE /u01/oracle/create-wls-domain.py $HEALTH_SCRIPT_FILE
+
+USER oracle
+
+HEALTHCHECK --start-period=10s --timeout=30s --retries=3 CMD curl -k -s --fail `$HEALTH_SCRIPT_FILE` || exit 1
+WORKDIR ${ORACLE_HOME}
+
+# Define default command to start script.
+CMD ["/u01/oracle/createAndStartEmptyDomain.sh"]
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/README.md b/smp-docker/images/oracle/weblogic-14.1.1.0/README.md
new file mode 100755
index 000000000..930082758
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/README.md
@@ -0,0 +1,97 @@
+Oracle WebLogic Server on Docker
+=================================
+These Docker configurations have been used to create the Oracle WebLogic Server (WLS) image. Providing this WLS image facilitates the configuration and environment setup for DevOps users. This project includes the installation and creation of an empty WebLogic Server domain (an Administration Server only). These Oracle WebLogic Server 14.1.1.0 images are based on Oracle Linux and Oracle JRE 8 (Server) or Oracle JDK 11.
+
+The certification of Oracle WebLogic Server on Docker does not require the use of any file presented in this repository. Customers and users are welcome to use them as starters, and customize, tweak, or create from scratch, new scripts and Dockerfiles.
+
+For more information on the certification, please see the [Oracle WebLogic Server on Docker certification whitepaper](http://www.oracle.com/technetwork/middleware/weblogic/overview/weblogic-server-docker-containers-2491959.pdf) and [The WebLogic Server Blog](https://blogs.oracle.com/weblogicserver/) for updates.
+
+## How to build and run
+This project offers sample Dockerfiles for Oracle WebLogic Server 14.1.1.0. It provides at least one Dockerfile for the `developer` distribution, a second Dockerfile for the `generic` distribution, and a third Dockerfile for the `slim` distribution.  
+
+1- The WebLogic `generic` image is supported for `development` and `production` deployment of WebLogic configurations using Docker.   It contains the same binaries as those installed by the WebLogic generic installer.  The WebLogic generic image is primarily intended for WebLogic domains managed with the WebLogic Kubernetes Operator, when WLS console-based monitoring, and possibly configuration, is required.  All servers within a domain managed with the Operator will use the same WebLogic image.  Support is also provided for environments where Kubernetes and/or the WebLogic Kubernetes Operator is not being used.
+
+2- The WebLogic `slim` image is supported for `development` and `production` deployment of WebLogic configurations using Docker.  In order to reduce image size, it contains a subset of the binaries included in the WebLogic generic image.   The WebLogic console, WebLogic examples, WebLogic clients, Maven plug-ins and Java DB have been removed - all binaries that remain included are the same as those in the WebLogic generic image.  The WebLogic slim image is primarily intended for WebLogic domains managed with the WebLogic Kubernetes Operator, when WLS console-based monitoring and configuration is not required, and a smaller image size than the generic image is preferred.  If there are requirements to monitor the WebLogic configuration, they should be addressed using Prometheus and Grafana or other alternatives. All servers within a domain managed with the Operator will use the same WebLogic image.  Support is also provided for environments where Kubernetes and/or the WebLogic Kubernetes Operator is not being used.
+
+3- The WebLogic `developer` image is supported for `development` of  WebLogic applications in Docker containers.  In order to reduce image size, it contains a subset of the binaries included in the WebLogic generic image.   WebLogic examples and WLS Console help files have been removed - all binaries that remain included are the same as those in the WebLogic generic image.  The WebLogic developer image is primarily intended to provide a Docker image that is consistent with the WebLogic "quick installers" intended for `development` only.   Production WebLogic domains should use the WebLogic generic or WebLogic slim images.   
+
+
+To assist in building the images, you can use the [`buildDockerImage.sh`](dockerfiles/buildDockerImage.sh) script. See below for instructions and usage.
+
+The `buildDockerImage.sh` script is a utility shell script that performs MD5 checks and is an easy way for beginners to get started. Expert users are welcome to directly call `docker build` with their prefered set of parameters.
+
+### Building Oracle WebLogic Server Docker install images
+**IMPORTANT:** You must download the binary of Oracle WebLogic Server and put it in place (see `.download` files inside `dockerfiles/<version>`).  WebLogic Server 14.1.1.0 supports both Java SE 8 or 11. If you want to run WebLogic Server on Oracle Server JRE 8, you must build the image by using the Dockerfile in [`../../../OracleJava/java8`](https://github.com/oracle/docker-images/tree/master/OracleJava/java-8). There is no longer a Oracle Server JRE for Java SE 11, it is bundled into Oracle JDK 11.  If you want to run images of WebLogic based on the Oracle JDK 11 image, you must build the image by using the Dockerfile in [`../../../OracleJava/java11`](https://github.com/oracle/docker-images/tree/master/OracleJava/java-11).
+
+Before you build, select the version and distribution for which you want to build an image, then download the required packages (see `.download` files) and locate them in the folder of your distribution version of choice. Then, from the `dockerfiles` folder, run the `buildDockerImage.sh` script as root.
+
+        $ sh buildDockerImage.sh
+        Usage: buildDockerImage.sh -v [version] [-d | -g | -m] [-s] [-j]
+        Builds a Docker Image for Oracle WebLogic Server.
+
+        Parameters:
+           -v: version to build. Required.
+           Choose : 14.1.1.0
+           -d: creates image based on 'developer' distribution
+           -g: creates image based on 'generic' distribution
+           -m: creates image based on 'slim' distribution
+           -j: choose '8' to create a 14.1.1.0 image with JDK 8 or '11' to create a 14.1.1.0 image with JDK 11. 
+           -c: enables Docker image layer cache during build
+           -s: skips the MD5 check of packages
+
+        * select one distribution only: -d, -g, or -m
+
+        LICENSE UPL 1.0
+
+        Copyright (c) 2014, 2020, Oracle and/or its affiliates
+
+**IMPORTANT:** The resulting images will have a single server domain (Administration Server only), by default.
+
+
+  1. To build the `14.1.1.0`image, from `dockerfiles`, call:
+
+        `$ sh buildDockerImage.sh -v 14.1.1.0 -d -j 11`
+
+  2. Verify that you now have this image in place with:
+
+        `$ docker images`
+     
+     If the WebLogic image is built extending Oracle Server JRE 8, then the built image will be called oracle/weblogic:14.1.1.0-developer-8
+     If the WebLogic image is built extending Oracle JDK 11, then the built image will be called oracle/weblogic:14.1.1.0-developer-11
+     
+
+### Running a single server domain from the image
+The WebLogic Server install image (built above) allows you to run a container with a single WebLogic Server domain.  This makes it extremely simple to deploy applications and any resource the application might need.
+
+#### Providing the Administration Server user name and password
+The user name and password must be supplied in a `domain.properties` file located in a HOST directory that you will map at Docker runtime with the `-v` option to the image directory `/u01/oracle/properties`. The properties file enables the scripts to configure the correct authentication for the WebLogic Server Administration Server.
+
+The format of the `domain.properties` file is key=value pair:
+
+	username=myadminusername
+	password=myadminpassword
+
+**Note**: Oracle recommends that the `domain.properties` file be deleted or secured after the container and the WebLogic Server are started so that the user name and password are not inadvertently exposed.
+
+#### Start the container
+Start a container from the image created in step 1.
+You can override the default values of the following parameters during runtime with the `-e` option:
+
+      * `ADMIN_NAME`                  (default: `AdminServer`)
+      * `ADMIN_LISTEN_PORT`           (default: `7001`)
+      * `DOMAIN_NAME`                 (default: `base_domain`)
+      * `ADMINISTRATION_PORT_ENABLED` (default: `true`)
+      * `ADMINISTRATION_PORT`         (default: `9002`)
+
+**NOTE**: For security, the Administration port 9002 is enabled by default, before running the container in WebLogic 14.1.1.0. If you prefer to not enable the Administration port when you issue the `docker run` command, set `ADMINISTRTATION_PORT_ENABLED` to false. If you intend to run these images in production, then you must change the Production Mode to `production`. When you set the `DOMAIN_NAME`, the `DOMAIN_HOME=/u01/oracle/user_projects/domains/$DOMAIN_NAME`.
+
+	$ docker run -d -p 7001:7001 -p 9002:9002  -v `HOST PATH where the domain.properties file is`:/u01/oracle/properties -e ADMINISTRATION_PORT_ENABLED=true -e DOMAIN_NAME=docker_domain -e ADMIN_NAME=docker-AdminServer oracle/weblogic:14.1.1.0-developer-11
+
+Run the WLS Administration Console:
+
+        $ docker inspect --format '{{.NetworkSettings.IPAddress}}' <container-name>
+
+In your browser, enter `https://xxx.xx.x.x:9002/console`. Your browser will request that you accept the Security Exception. To avoid the Security Exception, you must update the WebLogic Server SSL configuration with a custom identity certificate.
+
+## Copyright
+Copyright (c) 2014, 2022, Oracle and/or its affiliates.
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/create-wls-domain.py b/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/create-wls-domain.py
new file mode 100644
index 000000000..3ebe5004a
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/create-wls-domain.py
@@ -0,0 +1,91 @@
+#Copyright (c) 2014, 2022, Oracle and/or its affiliates.
+#
+#Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+#
+# WebLogic on Docker Default Domain
+#
+# Domain, as defined in DOMAIN_NAME, will be created in this script. Name defaults to 'base_domain'.
+#
+# Since : October, 2014
+# Author: monica.riccelli@oracle.com
+# ==============================================
+domain_name  = os.environ.get("DOMAIN_NAME", "base_domain")
+admin_name  = os.environ.get("ADMIN_NAME", "AdminServer")
+admin_listen_port   = int(os.environ.get("ADMIN_LISTEN_PORT", "7001"))
+domain_path  = '/u01/oracle/user_projects/domains/%s' % domain_name
+production_mode = os.environ.get("PRODUCTION_MODE", "prod")
+administration_port_enabled = os.environ.get("ADMINISTRATION_PORT_ENABLED", "true")
+administration_port = int(os.environ.get("ADMINISTRATION_PORT", "9002"))
+
+print('domain_name                 : [%s]' % domain_name);
+print('admin_listen_port           : [%s]' % admin_listen_port);
+print('domain_path                 : [%s]' % domain_path);
+print('production_mode             : [%s]' % production_mode);
+print('admin name                  : [%s]' % admin_name);
+print('administration_port_enabled : [%s]' % administration_port_enabled);
+print('administration_port         : [%s]' % administration_port);
+
+# Open default domain template
+# ============================
+readTemplate("/u01/oracle/wlserver/common/templates/wls/wls.jar")
+
+set('Name', domain_name)
+setOption('DomainName', domain_name)
+
+# Set Administration Port 
+# =======================
+if administration_port_enabled != "false":
+   set('AdministrationPort', administration_port)
+   set('AdministrationPortEnabled', 'true')
+
+# Disable Admin Console
+# --------------------
+# cmo.setConsoleEnabled(false)
+
+# Configure the Administration Server and SSL port.
+# =================================================
+cd('/Servers/AdminServer')
+set('Name', admin_name)
+set('ListenAddress', '')
+set('ListenPort', admin_listen_port)
+if administration_port_enabled != "false":
+   create(admin_name, 'SSL')
+   cd('SSL/' + admin_name)
+   set('Enabled', 'True')
+
+# Define the user password for weblogic
+# =====================================
+cd(('/Security/%s/User/weblogic') % domain_name)
+cmo.setName(username)
+cmo.setPassword(password)
+
+# Write the domain and close the domain template
+# ==============================================
+setOption('OverwriteDomain', 'true')
+setOption('ServerStartMode',production_mode)
+
+# Create Node Manager
+# ===================
+#cd('/NMProperties')
+#set('ListenAddress','')
+#set('ListenPort',5556)
+#set('CrashRecoveryEnabled', 'true')
+#set('NativeVersionEnabled', 'true')
+#set('StartScriptEnabled', 'false')
+#set('SecureListener', 'false')
+#set('LogLevel', 'FINEST')
+
+# Set the Node Manager user name and password 
+# ===========================================
+#cd('/SecurityConfiguration/%s' % domain_name)
+#set('NodeManagerUsername', username)
+#set('NodeManagerPasswordEncrypted', password)
+
+# Write Domain
+# ============
+writeDomain(domain_path)
+closeTemplate()
+
+# Exit WLST
+# =========
+exit()
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/createAndStartEmptyDomain.sh b/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/createAndStartEmptyDomain.sh
new file mode 100755
index 000000000..9b0fc88ec
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/createAndStartEmptyDomain.sh
@@ -0,0 +1,75 @@
+#!/bin/bash
+#
+# Copyright (c) 2014, 2022, Oracle and/or its affiliates. 
+#
+#Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+
+
+# If AdminServer.log does not exists, container is starting for 1st time
+# So it should start NM and also associate with AdminServer
+# Otherwise, only start NM (container restarted)
+########### SIGTERM handler ############
+function _term() {
+   echo "Stopping container."
+   echo "SIGTERM received, shutting down the server!"
+   ${DOMAIN_HOME}/bin/stopWebLogic.sh
+}
+
+########### SIGKILL handler ############
+function _kill() {
+   echo "SIGKILL received, shutting down the server!"
+   kill -9 $childPID
+}
+
+# Set SIGTERM handler
+trap _term SIGTERM
+
+# Set SIGKILL handler
+trap _kill SIGKILL
+
+#Define DOMAIN_HOME
+export DOMAIN_HOME=/u01/oracle/user_projects/domains/$DOMAIN_NAME
+echo "Domain Home is: " $DOMAIN_HOME
+
+mkdir -p $ORACLE_HOME/properties
+# Create Domain only if 1st execution
+if [ ! -e ${DOMAIN_HOME}/servers/${ADMIN_NAME}/logs/${ADMIN_NAME}.log ]; then
+   echo "Create Domain"
+   PROPERTIES_FILE=/u01/oracle/properties/domain.properties
+   if [ ! -e "$PROPERTIES_FILE" ]; then
+      echo "A properties file [$PROPERTIES_FILE] with the username and password needs to be supplied."
+      exit
+   fi
+
+   # Get Username
+   USER=`awk '{print $1}' $PROPERTIES_FILE | grep username | cut -d "=" -f2`
+   if [ -z "$USER" ]; then
+      echo "The domain username is blank.  The Admin username must be set in the properties file."
+      exit
+   fi
+   # Get Password
+   PASS=`awk '{print $1}' $PROPERTIES_FILE | grep password | cut -d "=" -f2`
+   if [ -z "$PASS" ]; then
+      echo "The domain password is blank.  The Admin password must be set in the properties file."
+      exit
+   fi
+
+   # Create an empty domain
+   wlst.sh -skipWLSModuleScanning -loadProperties $PROPERTIES_FILE  /u01/oracle/create-wls-domain.py
+   mkdir -p ${DOMAIN_HOME}/servers/${ADMIN_NAME}/security/
+   chmod -R g+w ${DOMAIN_HOME}
+   echo "username=${USER}" >> $DOMAIN_HOME/servers/${ADMIN_NAME}/security/boot.properties
+   echo "password=${PASS}" >> $DOMAIN_HOME/servers/${ADMIN_NAME}/security/boot.properties
+   ${DOMAIN_HOME}/bin/setDomainEnv.sh
+fi
+
+# Start Admin Server and tail the logs
+${DOMAIN_HOME}/startWebLogic.sh
+if [ -e ${DOMAIN_HOME}/servers/${ADMIN_NAME}/logs/${ADMIN_NAME}.log ]; then
+   echo "${DOMAIN_HOME}/servers/${ADMIN_NAME}/logs/${ADMIN_NAME}.log"
+fi
+touch ${DOMAIN_HOME}/servers/${ADMIN_NAME}/logs/${ADMIN_NAME}.log
+tail -f ${DOMAIN_HOME}/servers/${ADMIN_NAME}/logs/${ADMIN_NAME}.log
+
+childPID=$!
+wait $childPID
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/get_healthcheck_url.sh b/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/get_healthcheck_url.sh
new file mode 100755
index 000000000..4a2feef44
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/container-scripts/get_healthcheck_url.sh
@@ -0,0 +1,11 @@
+#!/bin/bash
+#
+#Copyright (c) 2020, Oracle and/or its affiliates.
+#
+#Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+
+if [ "$ADMINISTRATION_PORT_ENABLED" = "true" ] ; then 
+   echo "https://{localhost:$ADMINISTRATION_PORT}/weblogic/ready" ; 
+else 
+   echo "http://{localhost:$ADMIN_LISTEN_PORT}/weblogic/ready" ;
+fi
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_Disk1_1of1.zip.download b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_Disk1_1of1.zip.download
new file mode 100755
index 000000000..344ad0a94
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_Disk1_1of1.zip.download
@@ -0,0 +1,5 @@
+# Download Oracle WebLogic Server Generic Installer 14.1.1.0
+#
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+d034c08dd0caf116dc9a4a627ca23818 fmw_14.1.1.0.0_wls_Disk1_1of1.zip
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip.download b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip.download
new file mode 100755
index 000000000..0474b83b9
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip.download
@@ -0,0 +1,5 @@
+# Download Oracle WebLogic Server Generic Installer 14.1.1.0
+#
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+220b713496056d95e4d546f6fb589fee fmw_14.1.1.0.0_wls_lite_Disk1_1of1.zip
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip.download b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip.download
new file mode 100755
index 000000000..3dc7edf27
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip.download
@@ -0,0 +1,5 @@
+# Download Oracle WebLogic Server Quick Installer 14.1.1.0
+#
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+80d92534cfa27ce4119359f4324ede36 fmw_14.1.1.0.0_wls_lite_quick_Disk1_1of1.zip
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip.download b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip.download
new file mode 100755
index 000000000..b405e9d29
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip.download
@@ -0,0 +1,5 @@
+# Download Oracle WebLogic Server Slim Installer 14.1.1.0
+#
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+4da62b44f8ac55f2933641208f1693ba fmw_14.1.1.0.0_wls_lite_slim_Disk1_1of1.zip
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_quick_Disk1_1of1.zip.download b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_quick_Disk1_1of1.zip.download
new file mode 100755
index 000000000..1c3dbc77d
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_quick_Disk1_1of1.zip.download
@@ -0,0 +1,5 @@
+# Download Oracle WebLogic Server Quick Installer 14.1.1.0
+#
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+3cce95c82aafc323aec95c1175a61df7 fmw_14.1.1.0.0_wls_quick_Disk1_1of1.zip
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_quick_slim_Disk1_1of1.zip.download b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_quick_slim_Disk1_1of1.zip.download
new file mode 100755
index 000000000..6b9094b04
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/fmw_14.1.1.0.0_wls_quick_slim_Disk1_1of1.zip.download
@@ -0,0 +1,5 @@
+# Download Oracle WebLogic Server Slim Installer 14.1.1.0
+#
+# - http://www.oracle.com/technetwork/middleware/weblogic/downloads/wls-for-dev-1703574.html
+#
+0e54914953fc2e7e752888dfce4d7f7a fmw_14.1.1.0.0_wls_quick_slim_Disk1_1of1.zip
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/install.file b/smp-docker/images/oracle/weblogic-14.1.1.0/install.file
new file mode 100755
index 000000000..fc98006b3
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/install.file
@@ -0,0 +1,11 @@
+[ENGINE]
+
+#DO NOT CHANGE THIS.
+Response File Version=1.0.0.0.0
+
+[GENERIC]
+
+INSTALL_TYPE=WebLogic Server
+SOFTWARE ONLY TYPE=true
+DECLINE_SECURITY_UPDATES=true
+SECURITY_UPDATES_VIA_MYORACLESUPPORT=false
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/oraInst.loc b/smp-docker/images/oracle/weblogic-14.1.1.0/oraInst.loc
new file mode 100755
index 000000000..01f1964a5
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/oraInst.loc
@@ -0,0 +1,2 @@
+inventory_loc=/u01/oracle/.inventory
+inst_group=oracle
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/properties/domain.properties b/smp-docker/images/oracle/weblogic-14.1.1.0/properties/domain.properties
new file mode 100755
index 000000000..e4db42348
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/properties/domain.properties
@@ -0,0 +1,2 @@
+username=myweblogicuser
+password=welcome1
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/data/config/smp.config.properties b/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/data/config/smp.config.properties
new file mode 100644
index 000000000..01355b524
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/data/config/smp.config.properties
@@ -0,0 +1,8 @@
+
+configuration.dir=/data/security
+hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
+datasource.jndi=jdbc/eDeliverySmpDs
+authentication.blueCoat.enabled=true
+smp.truststore.password={DEC}{test123}
+smp.keystore.password={DEC}{test123}
+log.folder=./logs/
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/01_create_user.sql b/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/01_create_user.sql
new file mode 100644
index 000000000..6cdf900b6
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/01_create_user.sql
@@ -0,0 +1,8 @@
+
+CREATE USER smp IDENTIFIED BY "test" DEFAULT TABLESPACE users QUOTA UNLIMITED ON users; 
+GRANT CREATE SESSION TO smp;
+GRANT CREATE TABLE TO smp;
+GRANT CREATE VIEW TO smp;
+GRANT CREATE SEQUENCE TO smp;
+GRANT SELECT ON PENDING_TRANS$ TO smp;
+
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/02_oracle10g.sql b/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/02_oracle10g.sql
new file mode 100644
index 000000000..a8fda86b2
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/02_oracle10g.sql
@@ -0,0 +1,627 @@
+CONNECT smp/test@//localhost:1521/xe;
+-- ------------------------------------------------------------------------
+-- This file was generated by hibernate for SMP version 5.0-SNAPSHOT.
+-- ------------------------------------------------------------------------
+
+create sequence SMP_ALERT_PROP_SEQ start with 1 increment by  1;
+create sequence SMP_ALERT_SEQ start with 1 increment by  1;
+create sequence SMP_DOMAIN_SEQ start with 1 increment by  1;
+create sequence SMP_REVISION_SEQ start with 1 increment by  1;
+create sequence SMP_SERVICE_GROUP_DOMAIN_SEQ start with 1 increment by  1;
+create sequence SMP_SERVICE_GROUP_SEQ start with 1 increment by  1;
+create sequence SMP_SERVICE_METADATA_SEQ start with 1 increment by  1;
+create sequence SMP_USER_SEQ start with 1 increment by  1;
+
+    create table SMP_ALERT (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        ALERT_LEVEL varchar2(255 char),
+        ALERT_STATUS varchar2(255 char),
+        ALERT_STATUS_DESC varchar2(1024 char),
+        ALERT_TYPE varchar2(255 char),
+        MAIL_SUBJECT varchar2(1024 char),
+        MAIL_TO varchar2(1024 char),
+        PROCESSED_TIME timestamp,
+        REPORTING_TIME timestamp,
+        FOR_USERNAME varchar2(256 char),
+        primary key (ID)
+    );
+
+    comment on table SMP_ALERT is
+        'SMP alerts';
+
+    comment on column SMP_ALERT.ID is
+        'Unique alert id';
+
+    create table SMP_ALERT_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        ALERT_LEVEL varchar2(255 char),
+        ALERT_STATUS varchar2(255 char),
+        ALERT_STATUS_DESC varchar2(1024 char),
+        ALERT_TYPE varchar2(255 char),
+        MAIL_SUBJECT varchar2(1024 char),
+        MAIL_TO varchar2(1024 char),
+        PROCESSED_TIME timestamp,
+        REPORTING_TIME timestamp,
+        FOR_USERNAME varchar2(256 char),
+        primary key (ID, REV)
+    );
+
+    create table SMP_ALERT_PROPERTY (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        PROPERTY varchar2(255 char),
+        VALUE varchar2(1024 char),
+        FK_ALERT_ID number(19,0),
+        primary key (ID)
+    );
+
+    comment on column SMP_ALERT_PROPERTY.ID is
+        'Unique alert property id';
+
+    create table SMP_ALERT_PROPERTY_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        PROPERTY varchar2(255 char),
+        VALUE varchar2(1024 char),
+        FK_ALERT_ID number(19,0),
+        primary key (ID, REV)
+    );
+
+    create table SMP_CERTIFICATE (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        CERTIFICATE_ID varchar2(1024 char),
+        EXPIRE_LAST_ALERT_ON timestamp,
+        CRL_URL varchar2(4000 char),
+        ISSUER varchar2(1024 char),
+        PEM_ENCODED_CERT clob,
+        SERIALNUMBER varchar2(128 char),
+        SUBJECT varchar2(1024 char),
+        VALID_FROM timestamp,
+        VALID_TO timestamp,
+        primary key (ID)
+    );
+
+    comment on table SMP_CERTIFICATE is
+        'SMP user certificates';
+
+    comment on column SMP_CERTIFICATE.ID is
+        'Shared primary key with master table SMP_USER';
+
+    comment on column SMP_CERTIFICATE.CERTIFICATE_ID is
+        'Formatted Certificate id using tags: cn, o, c:serialNumber';
+
+    comment on column SMP_CERTIFICATE.EXPIRE_LAST_ALERT_ON is
+        'Generated last expire alert';
+
+    comment on column SMP_CERTIFICATE.CRL_URL is
+        'URL to the certificate revocation list (CRL)';
+
+    comment on column SMP_CERTIFICATE.ISSUER is
+        'Certificate issuer (canonical form)';
+
+    comment on column SMP_CERTIFICATE.PEM_ENCODED_CERT is
+        'PEM encoded  certificate';
+
+    comment on column SMP_CERTIFICATE.SERIALNUMBER is
+        'Certificate serial number';
+
+    comment on column SMP_CERTIFICATE.SUBJECT is
+        'Certificate subject (canonical form)';
+
+    comment on column SMP_CERTIFICATE.VALID_FROM is
+        'Certificate valid from date.';
+
+    comment on column SMP_CERTIFICATE.VALID_TO is
+        'Certificate valid to date.';
+
+    create table SMP_CERTIFICATE_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        CERTIFICATE_ID varchar2(1024 char),
+        EXPIRE_LAST_ALERT_ON timestamp,
+        CRL_URL varchar2(4000 char),
+        ISSUER varchar2(1024 char),
+        PEM_ENCODED_CERT clob,
+        SERIALNUMBER varchar2(128 char),
+        SUBJECT varchar2(1024 char),
+        VALID_FROM timestamp,
+        VALID_TO timestamp,
+        primary key (ID, REV)
+    );
+
+    create table SMP_CONFIGURATION (
+       PROPERTY varchar2(512 char) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        DESCRIPTION varchar2(4000 char),
+        VALUE varchar2(4000 char),
+        primary key (PROPERTY)
+    );
+
+    comment on table SMP_CONFIGURATION is
+        'SMP user certificates';
+
+    comment on column SMP_CONFIGURATION.PROPERTY is
+        'Property name/key';
+
+    comment on column SMP_CONFIGURATION.DESCRIPTION is
+        'Property description';
+
+    comment on column SMP_CONFIGURATION.VALUE is
+        'Property value';
+
+    create table SMP_CONFIGURATION_AUD (
+       PROPERTY varchar2(512 char) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        DESCRIPTION varchar2(4000 char),
+        VALUE varchar2(4000 char),
+        primary key (PROPERTY, REV)
+    );
+
+    create table SMP_DOMAIN (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        DOMAIN_CODE varchar2(256 char) not null,
+        SIGNATURE_KEY_ALIAS varchar2(256 char),
+        SML_BLUE_COAT_AUTH number(1,0) not null,
+        SML_CLIENT_CERT_HEADER varchar2(4000 char),
+        SML_CLIENT_KEY_ALIAS varchar2(256 char),
+        SML_PARTC_IDENT_REGEXP varchar2(4000 char),
+        SML_REGISTERED number(1,0) not null,
+        SML_SMP_ID varchar2(256 char),
+        SML_SUBDOMAIN varchar2(256 char),
+        primary key (ID)
+    );
+
+    comment on table SMP_DOMAIN is
+        'SMP can handle multiple domains. This table contains domain specific data';
+
+    comment on column SMP_DOMAIN.ID is
+        'Unique domain id';
+
+    comment on column SMP_DOMAIN.DOMAIN_CODE is
+        'Domain code used as http parameter in rest webservices';
+
+    comment on column SMP_DOMAIN.SIGNATURE_KEY_ALIAS is
+        'Signature key alias used for SML integration';
+
+    comment on column SMP_DOMAIN.SML_BLUE_COAT_AUTH is
+        'Flag for SML authentication type - use ClientCert header or  HTTPS ClientCertificate (key)';
+
+    comment on column SMP_DOMAIN.SML_CLIENT_CERT_HEADER is
+        'Client-Cert header used behind RP - ClientCertHeader for SML integration';
+
+    comment on column SMP_DOMAIN.SML_CLIENT_KEY_ALIAS is
+        'Client key alias used for SML integration';
+
+    comment on column SMP_DOMAIN.SML_PARTC_IDENT_REGEXP is
+        'Reqular expresion for participant ids';
+
+    comment on column SMP_DOMAIN.SML_REGISTERED is
+        'Flag for: Is domain registered in SML';
+
+    comment on column SMP_DOMAIN.SML_SMP_ID is
+        'SMP ID used for SML integration';
+
+    comment on column SMP_DOMAIN.SML_SUBDOMAIN is
+        'SML subdomain';
+
+    create table SMP_DOMAIN_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        DOMAIN_CODE varchar2(256 char),
+        SIGNATURE_KEY_ALIAS varchar2(256 char),
+        SML_BLUE_COAT_AUTH number(1,0),
+        SML_CLIENT_CERT_HEADER varchar2(4000 char),
+        SML_CLIENT_KEY_ALIAS varchar2(256 char),
+        SML_PARTC_IDENT_REGEXP varchar2(4000 char),
+        SML_REGISTERED number(1,0),
+        SML_SMP_ID varchar2(256 char),
+        SML_SUBDOMAIN varchar2(256 char),
+        primary key (ID, REV)
+    );
+
+    create table SMP_OWNERSHIP (
+       FK_SG_ID number(19,0) not null,
+        FK_USER_ID number(19,0) not null,
+        primary key (FK_SG_ID, FK_USER_ID)
+    );
+
+    create table SMP_OWNERSHIP_AUD (
+       REV number(19,0) not null,
+        FK_SG_ID number(19,0) not null,
+        FK_USER_ID number(19,0) not null,
+        REVTYPE number(3,0),
+        primary key (REV, FK_SG_ID, FK_USER_ID)
+    );
+
+    create table SMP_REV_INFO (
+       id number(19,0) not null,
+        REVISION_DATE timestamp,
+        timestamp number(19,0) not null,
+        USERNAME varchar2(255 char),
+        primary key (id)
+    );
+
+    create table SMP_SERVICE_GROUP (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        PARTICIPANT_IDENTIFIER varchar2(256 char) not null,
+        PARTICIPANT_SCHEME varchar2(256 char),
+        primary key (ID)
+    );
+
+    comment on table SMP_SERVICE_GROUP is
+        'Service group data - Identifier and scheme';
+
+    comment on column SMP_SERVICE_GROUP.ID is
+        'Unique ServiceGroup id';
+
+    create table SMP_SERVICE_GROUP_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        PARTICIPANT_IDENTIFIER varchar2(256 char),
+        PARTICIPANT_SCHEME varchar2(256 char),
+        primary key (ID, REV)
+    );
+
+    create table SMP_SERVICE_GROUP_DOMAIN (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        SML_REGISTERED number(1,0) not null,
+        FK_DOMAIN_ID number(19,0),
+        FK_SG_ID number(19,0),
+        primary key (ID)
+    );
+
+    create table SMP_SERVICE_GROUP_DOMAIN_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        SML_REGISTERED number(1,0),
+        FK_DOMAIN_ID number(19,0),
+        FK_SG_ID number(19,0),
+        primary key (ID, REV)
+    );
+
+    create table SMP_SERVICE_METADATA (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        DOCUMENT_IDENTIFIER varchar2(500 char) not null,
+        DOCUMENT_SCHEME varchar2(500 char),
+        FK_SG_DOM_ID number(19,0) not null,
+        primary key (ID)
+    );
+
+    comment on table SMP_SERVICE_METADATA is
+        'Service metadata';
+
+    comment on column SMP_SERVICE_METADATA.ID is
+        'Shared primary key with master table SMP_SERVICE_METADATA';
+
+    create table SMP_SERVICE_METADATA_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        DOCUMENT_IDENTIFIER varchar2(500 char),
+        DOCUMENT_SCHEME varchar2(500 char),
+        FK_SG_DOM_ID number(19,0),
+        primary key (ID, REV)
+    );
+
+    create table SMP_SERVICE_METADATA_XML (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        XML_CONTENT blob,
+        primary key (ID)
+    );
+
+    comment on table SMP_SERVICE_METADATA_XML is
+        'Service group metadata xml blob';
+
+    comment on column SMP_SERVICE_METADATA_XML.XML_CONTENT is
+        'XML service metadata ';
+
+    create table SMP_SERVICE_METADATA_XML_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        XML_CONTENT blob,
+        primary key (ID, REV)
+    );
+
+    create table SMP_SG_EXTENSION (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        EXTENSION blob,
+        primary key (ID)
+    );
+
+    comment on table SMP_SG_EXTENSION is
+        'Service group extension blob';
+
+    comment on column SMP_SG_EXTENSION.EXTENSION is
+        'XML extension(s) for servicegroup ';
+
+    create table SMP_SG_EXTENSION_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        EXTENSION blob,
+        primary key (ID, REV)
+    );
+
+    create table SMP_USER (
+       ID number(19,0) not null,
+        CREATED_ON timestamp not null,
+        LAST_UPDATED_ON timestamp not null,
+        ACCESS_TOKEN varchar2(256 char),
+        ACCESS_TOKEN_LAST_ALERT_ON timestamp,
+        ACCESS_TOKEN_EXPIRE_ON timestamp,
+        ACCESS_TOKEN_GENERATED_ON timestamp,
+        ACCESS_TOKEN_ID varchar2(256 char),
+        ACTIVE number(1,0) not null,
+        EMAIL varchar2(256 char),
+        LAST_FAILED_LOGIN_ON timestamp,
+        AT_LAST_FAILED_LOGIN_ON timestamp,
+        PASSWORD varchar2(256 char),
+        PASSWORD_CHANGED timestamp,
+        PASSWORD_LAST_ALERT_ON timestamp,
+        PASSWORD_EXPIRE_ON timestamp,
+        ROLE varchar2(256 char),
+        LOGIN_FAILURE_COUNT number(10,0),
+        AT_LOGIN_FAILURE_COUNT number(10,0),
+        USERNAME varchar2(256 char) not null,
+        primary key (ID)
+    );
+
+    comment on table SMP_USER is
+        'SMP can handle multiple domains. This table contains domain specific data';
+
+    comment on column SMP_USER.ID is
+        'Unique user id';
+
+    comment on column SMP_USER.ACCESS_TOKEN is
+        'BCrypted personal access token';
+
+    comment on column SMP_USER.ACCESS_TOKEN_LAST_ALERT_ON is
+        'Generated last access token expire alert';
+
+    comment on column SMP_USER.ACCESS_TOKEN_EXPIRE_ON is
+        'Date when personal access token will expire';
+
+    comment on column SMP_USER.ACCESS_TOKEN_GENERATED_ON is
+        'Date when personal access token was generated';
+
+    comment on column SMP_USER.ACCESS_TOKEN_ID is
+        'Personal access token id';
+
+    comment on column SMP_USER.ACTIVE is
+        'Is user active';
+
+    comment on column SMP_USER.EMAIL is
+        'User email';
+
+    comment on column SMP_USER.LAST_FAILED_LOGIN_ON is
+        'Last failed login attempt';
+
+    comment on column SMP_USER.AT_LAST_FAILED_LOGIN_ON is
+        'Last failed token login attempt';
+
+    comment on column SMP_USER.PASSWORD is
+        'BCrypted password for username/password login';
+
+    comment on column SMP_USER.PASSWORD_CHANGED is
+        'Last date when password was changed';
+
+    comment on column SMP_USER.PASSWORD_LAST_ALERT_ON is
+        'Generated last password expire alert';
+
+    comment on column SMP_USER.PASSWORD_EXPIRE_ON is
+        'Date when password will expire';
+
+    comment on column SMP_USER.ROLE is
+        'User role';
+
+    comment on column SMP_USER.LOGIN_FAILURE_COUNT is
+        'Sequential login failure count';
+
+    comment on column SMP_USER.AT_LOGIN_FAILURE_COUNT is
+        'Sequential token login failure count';
+
+    comment on column SMP_USER.USERNAME is
+        'Unique username identifier. The Username must not be null';
+
+    create table SMP_USER_AUD (
+       ID number(19,0) not null,
+        REV number(19,0) not null,
+        REVTYPE number(3,0),
+        CREATED_ON timestamp,
+        LAST_UPDATED_ON timestamp,
+        ACCESS_TOKEN varchar2(256 char),
+        ACCESS_TOKEN_LAST_ALERT_ON timestamp,
+        ACCESS_TOKEN_EXPIRE_ON timestamp,
+        ACCESS_TOKEN_GENERATED_ON timestamp,
+        ACCESS_TOKEN_ID varchar2(256 char),
+        ACTIVE number(1,0),
+        EMAIL varchar2(256 char),
+        LAST_FAILED_LOGIN_ON timestamp,
+        AT_LAST_FAILED_LOGIN_ON timestamp,
+        PASSWORD varchar2(256 char),
+        PASSWORD_CHANGED timestamp,
+        PASSWORD_LAST_ALERT_ON timestamp,
+        PASSWORD_EXPIRE_ON timestamp,
+        ROLE varchar2(256 char),
+        LOGIN_FAILURE_COUNT number(10,0),
+        AT_LOGIN_FAILURE_COUNT number(10,0),
+        USERNAME varchar2(256 char),
+        primary key (ID, REV)
+    );
+
+    alter table SMP_CERTIFICATE 
+       add constraint UK_3x3rvf6hkim9fg16caurkgg6f unique (CERTIFICATE_ID);
+
+    alter table SMP_DOMAIN 
+       add constraint UK_djrwqd4luj5i7w4l7fueuaqbj unique (DOMAIN_CODE);
+
+    alter table SMP_DOMAIN 
+       add constraint UK_likb3jn0nlxlekaws0xx10uqc unique (SML_SUBDOMAIN);
+create index SMP_SG_PART_ID_IDX on SMP_SERVICE_GROUP (PARTICIPANT_IDENTIFIER);
+create index SMP_SG_PART_SCH_IDX on SMP_SERVICE_GROUP (PARTICIPANT_SCHEME);
+
+    alter table SMP_SERVICE_GROUP 
+       add constraint SMP_SG_UNIQ_PARTC_IDX unique (PARTICIPANT_SCHEME, PARTICIPANT_IDENTIFIER);
+create index SMP_SMD_DOC_ID_IDX on SMP_SERVICE_METADATA (DOCUMENT_IDENTIFIER);
+create index SMP_SMD_DOC_SCH_IDX on SMP_SERVICE_METADATA (DOCUMENT_SCHEME);
+
+    alter table SMP_SERVICE_METADATA 
+       add constraint SMP_MT_UNIQ_SG_DOC_IDX unique (FK_SG_DOM_ID, DOCUMENT_IDENTIFIER, DOCUMENT_SCHEME);
+
+    alter table SMP_USER 
+       add constraint UK_tk9bjsmd2mevgt3b997i6pl27 unique (ACCESS_TOKEN_ID);
+
+    alter table SMP_USER 
+       add constraint UK_rt1f0anklfo05lt0my05fqq6 unique (USERNAME);
+
+    alter table SMP_ALERT_AUD 
+       add constraint FKrw0qnto448ojlirpfmfntd8v2 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_ALERT_PROPERTY 
+       add constraint FK15r37w3r5ty5f6074ykr2o4i6 
+       foreign key (FK_ALERT_ID) 
+       references SMP_ALERT;
+
+    alter table SMP_ALERT_PROPERTY_AUD 
+       add constraint FKod33qjx87ih1a0skxl2sgddar 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_CERTIFICATE 
+       add constraint FKayqgpj5ot3o8vrpduul7sstta 
+       foreign key (ID) 
+       references SMP_USER;
+
+    alter table SMP_CERTIFICATE_AUD 
+       add constraint FKnrwm8en8vv10li8ihwnurwd9e 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_CONFIGURATION_AUD 
+       add constraint FKd4yhbdlusovfbdti1fjkuxp9m 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_DOMAIN_AUD 
+       add constraint FK35qm8xmi74kfenugeonijodsg 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_OWNERSHIP 
+       add constraint FKrnqwq06lbfwciup4rj8nvjpmy 
+       foreign key (FK_USER_ID) 
+       references SMP_USER;
+
+    alter table SMP_OWNERSHIP 
+       add constraint FKgexq5n6ftsid8ehqljvjh8p4i 
+       foreign key (FK_SG_ID) 
+       references SMP_SERVICE_GROUP;
+
+    alter table SMP_OWNERSHIP_AUD 
+       add constraint FK1lqynlbk8ow1ouxetf5wybk3k 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SERVICE_GROUP_AUD 
+       add constraint FKj3caimhegwyav1scpwrxoslef 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SERVICE_GROUP_DOMAIN 
+       add constraint FKo186xtefda6avl5p1tuqchp3n 
+       foreign key (FK_DOMAIN_ID) 
+       references SMP_DOMAIN;
+
+    alter table SMP_SERVICE_GROUP_DOMAIN 
+       add constraint FKgcvhnk2n34d3c6jhni5l3s3x3 
+       foreign key (FK_SG_ID) 
+       references SMP_SERVICE_GROUP;
+
+    alter table SMP_SERVICE_GROUP_DOMAIN_AUD 
+       add constraint FK6uc9r0eqw16baooxtmqjkih0j 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SERVICE_METADATA 
+       add constraint FKfvcml6b8x7kn80m30h8pxs7jl 
+       foreign key (FK_SG_DOM_ID) 
+       references SMP_SERVICE_GROUP_DOMAIN;
+
+    alter table SMP_SERVICE_METADATA_AUD 
+       add constraint FKbqr9pdnik1qxx2hi0xn4n7f61 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SERVICE_METADATA_XML 
+       add constraint FK4b1x06xlavcgbjnuilgksi7nm 
+       foreign key (ID) 
+       references SMP_SERVICE_METADATA;
+
+    alter table SMP_SERVICE_METADATA_XML_AUD 
+       add constraint FKevatmlvvwoxfnjxkvmokkencb 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_SG_EXTENSION 
+       add constraint FKtf0mfonugp2jbkqo2o142chib 
+       foreign key (ID) 
+       references SMP_SERVICE_GROUP;
+
+    alter table SMP_SG_EXTENSION_AUD 
+       add constraint FKmdo9v2422adwyebvl34qa3ap6 
+       foreign key (REV) 
+       references SMP_REV_INFO;
+
+    alter table SMP_USER_AUD 
+       add constraint FK2786r5minnkai3d22b191iiiq 
+       foreign key (REV) 
+       references SMP_REV_INFO;
diff --git a/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/03_oracle10g-data.sql b/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/03_oracle10g-data.sql
new file mode 100644
index 000000000..06a7c7dd0
--- /dev/null
+++ b/smp-docker/images/oracle/weblogic-14.1.1.0/run/properties/db-scripts/03_oracle10g-data.sql
@@ -0,0 +1,77 @@
+CONNECT smp/test@//localhost:1521/xe;
+DELETE FROM SMP_OWNERSHIP_AUD;
+DELETE FROM SMP_SERVICE_METADATA_XML_AUD;
+DELETE FROM SMP_SERVICE_METADATA_AUD;
+DELETE FROM SMP_SG_EXTENSION_AUD;
+DELETE FROM SMP_SERVICE_GROUP_DOMAIN_AUD;
+DELETE FROM SMP_SERVICE_GROUP_AUD ;
+DELETE FROM SMP_DOMAIN_AUD;
+DELETE FROM SMP_CERTIFICATE_AUD ;
+DELETE FROM SMP_USER_AUD;
+DELETE FROM SMP_REV_INFO;
+
+
+--DELETE FROM SMP_CONFIGURATION;
+DELETE FROM SMP_OWNERSHIP;
+DELETE FROM SMP_SERVICE_METADATA_XML;
+DELETE FROM SMP_SERVICE_METADATA;
+DELETE FROM SMP_SG_EXTENSION;
+DELETE FROM SMP_SERVICE_GROUP_DOMAIN;
+DELETE FROM SMP_SERVICE_GROUP;
+DELETE FROM SMP_DOMAIN;
+DELETE FROM SMP_CERTIFICATE;
+DELETE FROM SMP_USER;
+DELETE FROM SMP_OWNERSHIP;
+
+set define off;
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'peppol_user', '$2a$10$.pqNZZ4fRDdNbLhNlnEYg.1/d4yAGpLDgeXpJFI0sw7.WtyKphFzu','peppol_user', '$2a$10$.pqNZZ4fRDdNbLhNlnEYg.1/d4yAGpLDgeXpJFI0sw7.WtyKphFzu', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'the_admin', '','the_admin', '', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'AdminSMP1TEST', '$2a$06$u6Hym7Zrbsf4gEIeAsJRceK.Kg7tei3kDypwucQQdky0lXOLCkrCO','LvglqPCs', '$2a$10$zaFAFqFIfLUZx15ZDPMvDeWBtsZLaAkrY3Vmya5e3/yCCkFq/FJCu', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'AdminSMP2TEST', '$2a$10$h8Q3Kjbs6ZrGkU6ditjNueINlJOMDJ/g/OKiqFZy32WmdhLjV5TAi','VIhnrCJK', '$2a$10$BtInQBIycY2BSN28PD7TxO9ipAR3lhxUT2FLeShptGmjt6HaLpR7O', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'test', '','test', '', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'test1', '$2a$06$toKXJgjqQINZdjQqSao3NeWz2n1S64PFPhVU1e8gIHh4xdbwzy1Uy','test1', '$2a$06$toKXJgjqQINZdjQqSao3NeWz2n1S64PFPhVU1e8gIHh4xdbwzy1Uy', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'system', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36','system', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SYSTEM_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'smp', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36','smp', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_USER (ID, USERNAME, PASSWORD, ACCESS_TOKEN_ID, ACCESS_TOKEN, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'user', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36','user', '$2a$06$FDmjewn/do3C219uysNm9.XG8mIn.ubHnMydAzC8lsv61HsRpOR36', 'SERVICE_GROUP_ADMIN', 1, sysdate, sysdate);
+
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'EHEALTH_SMP_EC', '', 'SERVICE_GROUP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=EHEALTH_SMP_EC,O=European Commission,C=BE:f71ee8b11cb3b787', null,null, sysdate, sysdate);
+
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'EHEALTH_z_ẞ_W_,O', '', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=EHEALTH_z_ẞ_W_,O=European_z_ẞ_W_Commission,C=BE:f71ee8b11cb3b787', null,null,sysdate, sysdate);
+
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'EHEALTH_SMP_1000000007-1', '', 'SERVICE_GROUP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=EHEALTH_SMP_1000000007,O=DG-DIGIT,C=BE:000000000123ABCD', null,null, sysdate, sysdate);
+
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'EHEALTH_SMP_1000000007-2', '', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=EHEALTH_SMP_1000000007,O=DG-DIGIT,C=BE', null,null, sysdate, sysdate);
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'EHEALTH&SMP_EC', '', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=EHEALTH&SMP_EC,O=European&Commission,C=B&E:f71ee8b11cb3b787', null,null, sysdate, sysdate);
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'EHEALTH_SMP_EC2', '', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=EHEALTH_SMP_EC,O=European Commission,C=BE:000000000000100f', null,null, sysdate, sysdate);
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'SMP_1000000007-3', '', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=SMP_1000000007,O=DG-DIGIT,C=BE', null,null, sysdate, sysdate);
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'SMP_1000000007-4', '', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=SMP_1000000007,O=DG-DIGIT,C=BE:000000000123ABCD', null,null, sysdate, sysdate);
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'SMP_1000000181,O=DIGIT,C=DK:123456789', '$2a$10$v2d/2E99dWHBM2ipTIip1enyaRKBTi.Xj/Iz0K8g0gjHBWdKRsHaC', 'SMP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=SMP_1000000181,O=DIGIT,C=DK:123456789', null,null, sysdate, sysdate);
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'red_gw', '', 'SERVICE_GROUP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=red_gw,O=eDelivery,C=BE:9792CE69BC89F14C', null,null,sysdate, sysdate);
+
+insert into SMP_USER (ID, USERNAME, PASSWORD, ROLE, ACTIVE, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.nextval, 'blue_gw', '', 'SERVICE_GROUP_ADMIN', 1, sysdate, sysdate);
+insert into SMP_CERTIFICATE (ID, CERTIFICATE_ID, VALID_FROM, VALID_TO, CREATED_ON, LAST_UPDATED_ON) values (SMP_USER_SEQ.CURRVAL, 'CN=blue_gw,O=eDelivery,C=BE:e07b6b956330a19a', null,null,sysdate, sysdate);
+
+
+-- insert domain
+insert into SMP_DOMAIN (ID, DOMAIN_CODE, SML_SUBDOMAIN, SIGNATURE_KEY_ALIAS,SML_BLUE_COAT_AUTH, SML_REGISTERED,  CREATED_ON, LAST_UPDATED_ON) values (SMP_DOMAIN_SEQ.nextval, 'domain','subdomain','sample_key',1,0, sysdate, sysdate);
diff --git a/smp-docker/images/weblogic-14.1-smp/Dockerfile b/smp-docker/images/weblogic-14.1-smp/Dockerfile
new file mode 100644
index 000000000..863867292
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/Dockerfile
@@ -0,0 +1,106 @@
+# LICENSE UPL 1.0
+#
+# Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+#
+# ORACLE DOCKERFILES PROJECT
+# --------------------------
+# This Dockerfile extends the Oracle WebLogic image built under 12213-doma-home-in-image.
+#
+# It will deploy any package defined in APP_PKG_FILE.
+# into the DOMAIN_HOME with name defined in APP_NAME
+#
+# HOW TO BUILD THIS IMAGE
+# -----------------------
+# Run:
+#      $ docker build -t weblogic-smp .
+# 
+# create from base image FROM oracle/weblogic:12.2.1.4-developer
+# Please build oracle/weblogic:12.2.1.4-developer (smp-docker/images/oracle/weblogic-12.2.1.4) first
+# ---------------
+FROM oracle/weblogic:14.1.1.0-generic
+
+# Define variable
+ARG SMP_VERSION
+ARG LC_ALL=en_US.UTF-8
+ARG LANG="en_US.UTF-8"
+ARG LANGUAGE="en_US"
+ARG ORACLE_HOME=/u01/oracle
+ARG WL_DOMAIN_NAME="${WL_DOMAIN_NAME:-smp-domain}"
+ARG WL_DOMAIN_HOME="${ORACLE_HOME}/user_projects/domains/${WL_DOMAIN_NAME}"
+ARG WL_MANAGED_SERV_NAME=${WL_MANAGED_SERV_NAME:-smp-node-1}
+ARG WL_MANAGED_SERV_BASE_NAME=${WL_MANAGED_SERV_BASE_NAME:-smp-node-}
+ARG WL_MANAGED_SERVER_COUNT=${WL_MANAGED_SERVER_COUNT:-10}
+ARG WL_ADMIN_NAME=${WL_ADMIN_NAME:-admin-server}
+ARG WL_CLUSTER_NAME=${WL_CLUSTER_NAME:-smp-cluster}
+ARG WL_DEBUG_PORT="${WL_DEBUG_PORT:-8453}"
+ARG WL_ADMIN_PORT="${WL_ADMIN_PORT:-7001}"
+ARG WL_ADMIN_PORT_HTTPS="${WL_ADMIN_PORT_HTTPS:-7002}"
+ARG WL_MANAGED_SERVER_PORT="${WL_MANAGED_SERVER_PORT:-8001}"
+ARG SMP_CONFIG_DIR=/data/smp
+ARG WL_DATA_WEBLOGIC=/data/weblogic
+
+# set following build arguments also the environment arguments
+ENV SMP_VERSION=$SMP_VERSION \
+    LC_ALL=$LC_ALL \
+    LANG=$LANG \
+    LANGUAGE=$LANGUAGE  \
+    ORACLE_HOME=$ORACLE_HOME \
+    DOCKER_DATA=/data \
+    WL_INIT_PROPERTIES="/u01/init/" \
+    WL_DOMAIN_NAME="${WL_DOMAIN_NAME}" \
+    WL_DOMAIN_HOME="${ORACLE_HOME}/user_projects/domains/${WL_DOMAIN_NAME}" \
+    WL_MANAGED_SERV_BASE_NAME="${WL_MANAGED_SERV_BASE_NAME}" \
+    WL_MANAGED_SERVER_COUNT=${WL_MANAGED_SERVER_COUNT} \
+    WL_DEBUG_PORT="${WL_DEBUG_PORT}"  \
+    WL_ADMIN_PORT="${WL_ADMIN_PORT}"  \
+    WL_ADMIN_PORT_HTTPS="${WL_ADMIN_PORT_HTTPS}"  \
+    WL_MANAGED_SERVER_PORT="${WL_MANAGED_SERVER_PORT}" \
+    WL_ADMIN_NAME="${WL_ADMIN_NAME}" \
+    WL_CLUSTER_NAME="${WL_CLUSTER_NAME}" \
+    WL_DEPLOYMENT_TARGET="${WL_ADMIN_NAME}" \
+    WL_ADMIN_UPLOAD_FOLDER="${DOCKER_DATA}/upload" \
+    SMP_CONFIG_DIR=${SMP_CONFIG_DIR:-/data/smp} \
+    SMP_SECURITY_DIR="${SMP_CONFIG_DIR}/security" \
+    CLASSPATH="${SMP_CONFIG_DIR}/config" \
+    WL_DATA_WEBLOGIC="${WL_DATA_WEBLOGIC:-/data/weblogic}" \
+    WL_SECURITY_FILE="${WL_DATA_WEBLOGIC}/security.properties" \
+    PATH="$PATH:/u01/oracle/oracle_common/common/bin:/u01/oracle/wlserver/common/bin:${WL_DOMAIN_HOME}:${WL_DOMAIN_HOME}/bin:${ORACLE_HOME}" \
+     # configurable argumentst at containe start
+    WL_ADMIN_HOST="${WL_ADMIN_HOST:-localhost}"  \
+    WL_SERVER_TLS_KEYSTORE_PASS="${WL_SERVER_TLS_KEYSTORE_PASS:-test123}" \
+    WL_DEBUG_FLAG="${WL_DEBUG_FLAG:-true}" \
+    WL_PRODUCTION_MODE_ENABLED="${WL_PRODUCTION_MODE_ENABLED:-false}" \
+    WL_MANAGED_SERV_NAME="${WL_MANAGED_SERV_NAME}" \
+    WL_STATUS_FOLDER=${WL_STATUS_FOLDER:-/u01/status/} \
+    WL_DELAY_STARTUP_IN_S="${WL_DELAY_STARTUP_IN_S:-0}" \
+    ENABLE_JACOCO="${ENABLE_JACOCO:-false}"
+
+
+# Add files required to build this image
+COPY container-scripts/* ${ORACLE_HOME}/
+COPY container-scripts/init-scripts ${ORACLE_HOME}/init/scripts/
+COPY properties/init  ${ORACLE_HOME}/init/properties/
+COPY artefacts/smp.war ${ORACLE_HOME}/init/
+
+
+#Create directory where domain will be written to
+USER root
+WORKDIR  $ORACLE_HOME
+RUN mkdir -p $WL_DOMAIN_HOME && \
+    mkdir -p $DOCKER_DATA && \
+    chown -R oracle:oracle $ORACLE_HOME && \
+    chown -R oracle:oracle $WL_DOMAIN_HOME && \
+    chown -R oracle:oracle $DOCKER_DATA && \
+    chmod +xw ${ORACLE_HOME}/*.sh && \
+    chmod +xw ${ORACLE_HOME}/init/scripts/*.sh && \
+    chmod +xw ${ORACLE_HOME}/init/scripts/*.py && \
+    chmod -R +xwr $WL_DOMAIN_HOME
+
+
+USER oracle
+WORKDIR $WL_DOMAIN_HOME
+# Expose ports for admin, managed server, and debug
+EXPOSE $WL_ADMIN_PORT $WL_ADMIN_HTTPS_PORT $WL_MANAGED_SERVER_PORT $WL_DEBUG_PORT
+
+# Define default command to start bash.
+CMD ["startManagedServer.sh"]
diff --git a/smp-docker/images/weblogic-14.1-smp/README.md b/smp-docker/images/weblogic-14.1-smp/README.md
new file mode 100644
index 000000000..f7cd60eb0
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/README.md
@@ -0,0 +1,133 @@
+SMP docker image 
+================================
+This Dockerfile extends the Oracle WebLogic image built from Oracle WebLogic Server 12cR2 (12.2.1.4). The image deploy the SMP application to admin 
+server and to the cluster. 
+The image does not initialize the domain nor deploy the SMP to the WebLogic domain. Instead, it sets all prerequisites to 
+create the WebLogic domain and deploy SMP at the first startup of the image. Initializing the domain at first startup allows 
+users more flexibility in the domain configuration and SMP deployment. When the domain initialization is completed, 
+the domain package is stored in the file: "${DOCKER_DATA}/${WL_CLUSTER_NAME}.jar" 
+(when using the default values, the file is: /data/smp-cluster.jar). The file must be mounted to the same location in the starting 
+nodes to be started as a cluster node for the same domain. The easiest way is to mount folder:  ./data:/data to the 
+admin server and cluster nodes. 
+
+
+# How to build the image
+
+The following preconditions must be met to build the image:
+ - image [oracle/weblogic:12.2.1.4-developer](../oracle/weblogic-12.2.1.4) must be build or must be accessible via "docker pull registry"
+ - smp artefacts *smp.war* and *smp-setup.zip* must be added to subfolder *./artefacts*. 
+
+   
+To build image executed the command (set the smp version accordingly)
+
+        $ docker build -t "smp-weblogic-122:4.2-SNAPSHOT" . --build-arg SMP_VERSION=4.2-SNAPSHOT
+
+
+# How to run the domain
+
+To start the containerized Administration Server, run:
+
+        $ docker run -d --name wlsadmin --hostname smp-wls-admin -p 7001:7001 \
+          -v <HOST DIRECTORY TO SHARED DATA>/dasta:/data \
+          smp-weblogic-122:4.2-SNAPSHOT
+
+To start a containerized Managed Server (smp-node-1) to self-register with the Administration Server above, run:
+
+        $ docker run -d --name smp-node-1  -p 8001:8001 \
+          -v <HOST DIRECTORY TO SHARED DATA>/dasta:/data \
+          -e WL_ADMIN_HOST=smp-wls-admin \          
+          -e WL_MANAGED_SERV_NAME=smp-node-1 smp-weblogic-122:4.2-SNAPSHOT startManagedServer.sh
+
+To start a second Managed Server (smp-node-2), run:
+
+        $ docker run -d --name smp-node-2  -p 8001:8001 \
+          -v <HOST DIRECTORY TO SHARED DATA>/dasta:/data \
+          -e WL_ADMIN_HOST=smp-wls-admin \          
+          -e WL_MANAGED_SERV_NAME=smp-node-2  smp-weblogic-122:4.2-SNAPSHOT startManagedServer.sh
+
+
+Run the WLS Administration Console:
+
+In your browser, enter `https://localhost:7001/console`.
+
+Run the sample application:
+
+To access the sample application, in your browser enter `http://localhost:7001/smp/`.
+
+# SMP and WebLogic configuration
+
+At the first startup of the admin server, the domain is initialized and stored into the file: 
+`${DOCKER_DATA}/${WL_CLUSTER_NAME}-${SMP_VERSION}.jar`
+ (the default values gives file path: `/data/smp-cluster-4.2-SNAPSHOT.jar`). The file is needed to create node deployment 
+ on an empty WebLogic installation using the: unpack.sh command. Make sure the file is available on the same container 
+ path when starting the nodes.  
+
+## WebLogic domain init configuration
+When the domain has initialized the file 
+`./weblogic-12.2-smp/properties/init/domain.properties` is used as domain base properties. To the file, the following 
+environment properties are appended:
+See the: `weblogic-12.2-smp/container-scripts/init-scripts/createWLSDomain.sh`
+
+    DOMAIN_NAME=${WL_DOMAIN_NAME}
+    ADMIN_PORT=${WL_ADMIN_PORT}
+    ADMIN_HTTPS_PORT=${WL_ADMIN_PORT_HTTPS}
+    ADMIN_NAME=${WL_ADMIN_NAME}
+    ADMIN_HOST=${WL_ADMIN_HOST}
+    MANAGED_SERVER_PORT=${WL_MANAGED_SERVER_PORT}
+    MANAGED_SERVER_NAME_BASE=${WL_MANAGED_SERV_BASE_NAME}
+    CONFIGURED_MANAGED_SERVER_COUNT=${WL_MANAGED_SERVER_COUNT}
+    CLUSTER_NAME=${WL_CLUSTER_NAME}
+    DEBUG_FLAG=${WL_DEBUG_FLAG}
+    PRODUCTION_MODE_ENABLED=${WL_PRODUCTION_MODE_ENABLED}
+
+In case other properties are needed, define your own "domain.properties" and map it to the container folder: `/u01/init/`
+as example: 
+
+    volumes:
+          - ./properties/weblogic-init:/u01/init/
+
+
+## WebLogic admin username and password
+The weblogi admin username and password credential are used to access `https://localhost:7001/console` and also 
+for the cluster nodes to connect to WebLogic admin. The credentials are not defined in folder
+`/u01/init/domain_security.properties`  as example: 
+     
+     username=wls-smp
+     password=wls-pass-01
+ 
+The default user name is used, and a random password is generated. The password is logged to the admin logs at the domain 
+initialization event.
+
+    ‘/u01/oracle/init/properties/domain_security.properties’: No such file or directory
+    To increase security please provide custom admin username and password in /tmp/create-domain/properties/domain_security.properties.
+    Generated WebLogic admin user with credentials: weblogic/9HLS3cugQBlXyncNC0GcHuE3MNbhgOrrcR5kZluXAA68lTJapKeYxk7D4LbeYTwc
+
+The credentials are copied to the file `/data/weblogic/security.properties`, with intention to be used for node server. 
+After servers are started for the first time - the file can be removed/deleted  
+    
+    # example of generated  /data/weblogic/security.properties
+    username=weblogic
+    password=weblogic-custom-password
+
+## Weblogic Database configuration.
+Weblogic database configured based on the file `/u01/init/datasource.properties`
+
+    dsname=eDeliverySmpDs
+    dsdbname=eDeliverySmpDs
+    dsjndiname=jdbc/eDeliverySmpDs
+    dsdriver=oracle.jdbc.OracleDriver
+    dsurl=jdbc:oracle:thin:@//smp-oracle-db:1521/xe
+    dsusername=smp
+    dspassword=test
+    dstestquery=SQL SELECT 1 FROM DUAL
+
+## SMP initial configuration.
+SMP initial configuration can be provided in file  `/smp.config.properties`
+
+    # example of the SMP configuration file (please note the example where SMP uses JNDI datasource!)
+    hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
+    datasource.jndi=jdbc/eDeliverySmpDs
+    configuration.dir=/data/smp/security
+    authentication.blueCoat.enabled=true
+    log.folder=./logs/
+    
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/create-wls-domain.py b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/create-wls-domain.py
new file mode 100644
index 000000000..3759ec0d1
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/create-wls-domain.py
@@ -0,0 +1,171 @@
+#Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved.
+#
+#Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
+#
+# WebLogic on Docker Default Domain
+#
+# Domain, as defined in DOMAIN_NAME, will be created in this script. Name defaults to 'base_domain'.
+#
+# Since : November, 2018
+# Author: monica.riccelli@oracle.com
+# ==============================================
+
+import os
+import socket
+
+def getEnvVar(var):
+  val=os.environ.get(var)
+  if val==None:
+    print "ERROR: Env var ",var, " not set."
+    sys.exit(1)
+  return val
+
+# This python script is used to create a WebLogic domain
+
+server_port                   = int(MANAGED_SERVER_PORT)
+domain_path                   = os.environ.get("WL_DOMAIN_HOME")
+cluster_name                  = CLUSTER_NAME
+admin_server_name             = ADMIN_NAME
+admin_port                    = int(ADMIN_PORT)
+admin_https_port              = int(ADMIN_HTTPS_PORT)
+admin_upload_folder           = ADMIN_UPLOAD_FOLDER
+domain_name                   = DOMAIN_NAME
+t3_channel_port               = int(T3_CHANNEL_PORT)
+t3_public_address             = T3_PUBLIC_ADDRESS
+number_of_ms                  = int(CONFIGURED_MANAGED_SERVER_COUNT)
+cluster_type                  = CLUSTER_TYPE
+managed_server_name_base      = MANAGED_SERVER_NAME_BASE
+production_mode_enabled       = PRODUCTION_MODE_ENABLED
+
+# Read the domain secrets from the common python file
+#execfile('%s/read-domain-secret.py' % script_dir)
+
+print('domain_path              : [%s]' % domain_path)
+print('domain_name              : [%s]' % domain_name)
+print('admin_server_name        : [%s]' % admin_server_name)
+print('admin_port               : [%s]' % admin_port)
+print('admin_upload_folder      : [%s]' % admin_upload_folder)
+print('cluster_name             : [%s]' % cluster_name)
+print('server_port              : [%s]' % server_port)
+print('number_of_ms             : [%s]' % number_of_ms)
+print('cluster_type             : [%s]' % cluster_type)
+print('managed_server_name_base : [%s]' % managed_server_name_base)
+print('production_mode_enabled  : [%s]' % production_mode_enabled)
+print('t3_channel_port          : [%s]' % t3_channel_port)
+print('t3_public_address        : [%s]' % t3_public_address)
+
+# Open default domain template
+# ============================
+readTemplate("/u01/oracle/wlserver/common/templates/wls/wls.jar")
+
+set('Name', domain_name)
+setOption('DomainName', domain_name)
+create(domain_name,'Log')
+cd('/Log/%s' % domain_name)
+set('FileName', '%s.log' % (domain_name))
+
+# Configure the Administration Server
+# ===================================
+cd('/Servers/AdminServer')
+#set('ListenAddress', '%s-%s' % (domain_uid, admin_server_name_svc))
+set('ListenPort', admin_port)
+set('Name', admin_server_name)
+# set shared upload folder for redeployment - admin server uploads the artefacts to this folder
+# which must be shared to all nodes!
+set('UploadDirectoryName', admin_upload_folder)
+
+create('T3Channel', 'NetworkAccessPoint')
+cd('/Servers/%s/NetworkAccessPoints/T3Channel' % admin_server_name)
+set('PublicPort', t3_channel_port)
+set('PublicAddress', t3_public_address)
+#set('ListenAddress', '%s-%s' % (domain_uid, admin_server_name_svc))
+set('ListenPort', t3_channel_port)
+
+#cd('/Servers/%s' % admin_server_name)
+#create(admin_server_name, 'Log')
+#cd('/Servers/%s/Log/%s' % (admin_server_name, admin_server_name))
+#set('FileName', '%s.log' % (admin_server_name))
+
+# Set the admin user's username and password
+# ==========================================
+cd('/Security/%s/User/weblogic' % domain_name)
+cmo.setName(username)
+cmo.setPassword(password)
+
+# Write the domain and close the domain template
+# ==============================================
+setOption('OverwriteDomain', 'true')
+
+# Create a cluster
+# ======================
+cd('/')
+cl=create(cluster_name, 'Cluster')
+
+if cluster_type == "CONFIGURED":
+
+  # Create managed servers
+  for index in range(0, number_of_ms):
+    cd('/')
+    msIndex = index+1
+
+    cd('/')
+    name = '%s%s' % (managed_server_name_base, msIndex)
+#   name_svc = '%s%s' % (managed_server_name_base_svc, msIndex)
+
+    create(name, 'Server')
+    cd('/Servers/%s/' % name )
+    print('managed server name is %s' % name);
+#   set('ListenAddress', '%s-%s' % (domain_uid, name_svc))
+    set('ListenPort', server_port)
+    set('NumOfRetriesBeforeMSIMode', 0)
+    set('RetryIntervalBeforeMSIMode', 1)
+    set('Cluster', cluster_name)
+
+#    create(name,'Log')
+#    cd('/Servers/%s/Log/%s' % (name, name))
+#    set('FileName', '%s.log' % (name))
+
+else:
+  print('Configuring Dynamic Cluster %s' % cluster_name)
+
+  templateName = cluster_name + "-template"
+  print('Creating Server Template: %s' % templateName)
+  st1=create(templateName, 'ServerTemplate')
+  print('Done creating Server Template: %s' % templateName)
+  cd('/ServerTemplates/%s' % templateName)
+  cmo.setListenPort(server_port)
+  cmo.setCluster(cl)
+  cd('/Clusters/%s' % cluster_name)
+  create(cluster_name, 'DynamicServers')
+  cd('DynamicServers/%s' % cluster_name)
+  set('ServerTemplate', st1)
+  set('ServerNamePrefix', managed_server_name_base)
+  set('DynamicClusterSize', number_of_ms)
+  set('MaxDynamicClusterSize', number_of_ms)
+  set('CalculatedListenPorts', false)
+
+  print('Done setting attributes for Dynamic Cluster: %s' % cluster_name)
+
+# Write Domain
+# ============
+print('Write domain to: %s' % domain_path)
+writeDomain(domain_path)
+closeTemplate()
+print 'Domain Created'
+
+# Update Domain
+readDomain(domain_path)
+cd('/')
+if production_mode_enabled == "true":
+  cmo.setProductionModeEnabled(true)
+else: 
+  cmo.setProductionModeEnabled(false)
+
+updateDomain()
+closeDomain()
+print 'Domain Updated'
+print 'Done'
+
+# Exit WLST
+# =========
+exit()
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/createWLSDomain.sh b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/createWLSDomain.sh
new file mode 100755
index 000000000..ef5accc9c
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/createWLSDomain.sh
@@ -0,0 +1,165 @@
+#!/bin/bash
+#
+#Copyright (c) 2014, 2020, Oracle and/or its affiliates.
+#
+#Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
+
+#Define WL_DOMAIN_HOME
+INIT_SCRIPTS=$1
+echo "Domain Home is: $WL_DOMAIN_HOME"
+echo "Scripts folder is: $INIT_SCRIPTS"
+
+source "${INIT_SCRIPTS}/functions/keystore.functions"
+
+# If AdminServer.log does not exists, container is starting for 1st time
+# So it should start NM and also associate with AdminServer
+# Otherwise, only start NM (container restarted)
+########### SIGTERM handler ############
+function _term() {
+  echo "Stopping container."
+  echo "SIGTERM received, shutting down the server!"
+  ${WL_DOMAIN_HOME}/bin/stopWebLogic.sh
+}
+
+########### SIGKILL handler ############
+function _kill() {
+  echo "SIGKILL received, shutting down the server!"
+  kill -9 $childPID
+}
+
+# Set SIGTERM handler
+trap _term SIGTERM
+
+# Set SIGKILL handler
+trap _kill SIGKILL
+
+#Loop determining state of WLS
+function check_wls() {
+  action=$1
+  host=$2
+  port=$3
+  sleeptime=$4
+  while true; do
+    sleep $sleeptime
+    if [ "$action" == "started" ]; then
+      started_url="http://$host:$port/weblogic/ready"
+      echo -e "Waiting for WebLogic server to get $action, checking $started_url"
+      status=$(/usr/bin/curl -s -i $started_url | grep "200 OK")
+      echo "Status:" $status
+      if [ ! -z "$status" ]; then
+        break
+      fi
+    elif [ "$action" == "shutdown" ]; then
+      shutdown_url="http://$host:$port"
+      echo -e "Waiting for WebLogic server to get $action, checking $shutdown_url"
+      status=$(/usr/bin/curl -s -i $shutdown_url | grep "500 Can't connect")
+      if [ ! -z "$status" ]; then
+        break
+      fi
+    fi
+  done
+  echo -e "WebLogic Server has $action"
+}
+
+
+function init_server_https_keystore(){
+   # configure https
+		CERTIFICATES=${CERTIFICATES:-/tmp/}
+	  HOST_DOMAIN=${WL_ADMIN_HOST:-localhost}
+	  # put keystore to wildfly configuration folder
+	  [[ ! -d "${WL_DATA_WEBLOGIC}/keystores" ]] &&  mkdir -p "${WL_DATA_WEBLOGIC}/keystores"
+	  KEYSTORE_PATH="${WL_DATA_WEBLOGIC}/keystores/admin-tls-keystore.p12"
+
+    CLIENT_KEYSTORE_PATH="${WL_DATA_WEBLOGIC}/keystores/client-tls-keystore.p12"
+    TRUSTSTORE_PATH="${WL_DATA_WEBLOGIC}/keystores/admin-tls-truststore.p12"
+
+    generateKeyStore "${HOST_DOMAIN}" "${WL_SERVER_TLS_KEYSTORE_PASS}" "${WL_SERVER_TLS_KEYSTORE_PASS}" "${KEYSTORE_PATH}"
+    generateKeyStore "Client-TLS-Certificate" "${WL_SERVER_TLS_KEYSTORE_PASS}" "${WL_SERVER_TLS_KEYSTORE_PASS}" "${TRUSTSTORE_PATH}"
+
+    wlst.sh -skipWLSModuleScanning  "$INIT_SCRIPTS/enable-server-https.py" "${KEYSTORE_PATH}" "${TRUSTSTORE_PATH}"
+}
+
+if [ -f ${WL_DOMAIN_HOME}/servers/${WL_ADMIN_NAME}/logs/${WL_ADMIN_NAME}.log ]; then
+  echo "Admin log file: [${WL_DOMAIN_HOME}/servers/${WL_ADMIN_NAME}/logs/${WL_ADMIN_NAME}.log] already exists - Skip domain creation!"
+  exit
+fi
+
+DOMAIN_PROPERTY_DIR=/tmp/create-domain/properties
+mkdir -p "${DOMAIN_PROPERTY_DIR}"
+
+DOMAIN_PROPERTIES_FILE=${DOMAIN_PROPERTY_DIR}/domain.properties
+SEC_PROPERTIES_FILE=${DOMAIN_PROPERTY_DIR}/domain_security.properties
+
+# copy domain properties - check first init folder else use default
+if [ -e "${WL_INIT_PROPERTIES}/domain.properties" ]; then
+  cp -f "${WL_INIT_PROPERTIES}/domain.properties" "${DOMAIN_PROPERTIES_FILE}"
+else
+  cp -f "${INIT_SCRIPTS}"/../properties/domain.properties "${DOMAIN_PROPERTIES_FILE}"
+fi
+# copy security properties - check first init folder else use default
+if [ -e "${WL_INIT_PROPERTIES}/domain_security.properties" ]; then
+  cp -f "${WL_INIT_PROPERTIES}/domain_security.properties" "${SEC_PROPERTIES_FILE}"
+elif [ -e "${INIT_SCRIPTS}/../properties/domain_security.properties" ]; then
+  cp -f "${INIT_SCRIPTS}/../properties/domain_security.properties" "${SEC_PROPERTIES_FILE}"
+else
+  echo "To increase security please provide custom admin username and password in ${SEC_PROPERTIES_FILE}."
+  defUsername=weblogic
+  randPass=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 64)
+  echo "username=${defUsername}" >"${SEC_PROPERTIES_FILE}"
+  echo "password=${randPass}" >>"${SEC_PROPERTIES_FILE}"
+  echo "Generated WebLogic admin user with credentials: ${defUsername}/${randPass}"
+fi
+
+# Get Username
+USER=$(awk '{print $1}' ${SEC_PROPERTIES_FILE} | grep username | cut -d "=" -f2)
+if [ -z "${USER}" ]; then
+  echo "The domain username is blank.  The Admin username must be set in the properties file."
+  exit
+fi
+# Get Password
+PASS=$(awk '{print $1}' ${SEC_PROPERTIES_FILE} | grep password | cut -d "=" -f2)
+if [ -z "${PASS}" ]; then
+  echo "The domain password is blank.  The Admin password must be set in the properties file."
+  exit
+fi
+
+
+cat <<EOT >>  "${DOMAIN_PROPERTIES_FILE}"
+
+DOMAIN_NAME=${WL_DOMAIN_NAME}
+ADMIN_PORT=${WL_ADMIN_PORT}
+ADMIN_HTTPS_PORT=${WL_ADMIN_PORT_HTTPS}
+ADMIN_NAME=${WL_ADMIN_NAME}
+ADMIN_HOST=${WL_ADMIN_HOST}
+ADMIN_UPLOAD_FOLDER=${WL_ADMIN_UPLOAD_FOLDER}
+MANAGED_SERVER_PORT=${WL_MANAGED_SERVER_PORT}
+MANAGED_SERVER_NAME_BASE=${WL_MANAGED_SERV_BASE_NAME}
+CONFIGURED_MANAGED_SERVER_COUNT=${WL_MANAGED_SERVER_COUNT}
+CLUSTER_NAME=${WL_CLUSTER_NAME}
+DEBUG_FLAG=${WL_DEBUG_FLAG}
+PRODUCTION_MODE_ENABLED=${WL_PRODUCTION_MODE_ENABLED}
+EOT
+
+echo "Init domain with following properties"
+cat ${DOMAIN_PROPERTIES_FILE}
+echo "Show domain home $WL_DOMAIN_HOME"
+# Create domain
+wlst.sh -skipWLSModuleScanning -loadProperties "${DOMAIN_PROPERTIES_FILE}" -loadProperties "${SEC_PROPERTIES_FILE}" "$INIT_SCRIPTS/create-wls-domain.py"
+
+ENC_PASS=$(java -cp $ORACLE_HOME/wlserver/server/lib/weblogic.jar  -Dweblogic.RootDirectory=${WL_DOMAIN_HOME} weblogic.security.Encrypt ${PASS});
+echo "set cluster shared secret file $WL_SECURITY_FILE"
+cat <<EOT > "$WL_SECURITY_FILE"
+username=${USER}
+password=${PASS}
+EOT
+
+
+if [ ! -z "$AS_SECURITY" ];then
+  mkdir -p ${AS_SECURITY}
+  cat <<EOT > "${AS_SECURITY}/boot.properties"
+username=${USER}
+password=${ENC_PASS}
+EOT
+fi
+
+init_server_https_keystore
\ No newline at end of file
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/datasource.properties.oracle b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/datasource.properties.oracle
new file mode 100644
index 000000000..bb1ba5c50
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/datasource.properties.oracle
@@ -0,0 +1,9 @@
+dsname=eDeliverySmpDs
+dsdbname=default;create=true
+dsjndiname=jdbc/eDeliverySmpDs
+dsdriver=oracle.jdbc.OracleDriver
+dsurl=jdbc:oracle:thin:@//database:1521/xe
+dsusername=smp
+dspassword=test
+dstestquery=SQL ISVALID
+dsmaxcapacity=1
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/deploySMPToDomain.sh b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/deploySMPToDomain.sh
new file mode 100755
index 000000000..6fbaee5f7
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/deploySMPToDomain.sh
@@ -0,0 +1,36 @@
+#!/bin/bash
+
+#Define WL_DOMAIN_HOME
+INIT_SCRIPTS=$1
+echo "Domain Home is: $WL_DOMAIN_HOME"
+echo "Scripts folder is: $INIT_SCRIPTS"
+
+# set datasource property
+DATA_SOURCE_PROPERTY_FILE="${INIT_SCRIPTS}/../properties/datasource.properties"
+if [  -f "${WL_INIT_PROPERTIES}/datasource.properties" ]; then
+  DATA_SOURCE_PROPERTY_FILE="${WL_INIT_PROPERTIES}/datasource.properties"
+fi
+
+#deploy smp datasource
+wlst.sh -loadProperties "${DATA_SOURCE_PROPERTY_FILE}" "${INIT_SCRIPTS}/ds-deploy.py"
+
+# copy smp startup configuration  - check first init folder else use default
+if [  -f "${WL_INIT_PROPERTIES}/smp.config.properties" ]; then
+  cat "${WL_INIT_PROPERTIES}/smp.config.properties" > "${SMP_CONFIG_DIR}/config/smp.config.properties"
+elif [ -f "${INIT_SCRIPTS}/../properties/smp.config.properties" ]; then
+  cat "${INIT_SCRIPTS}/../properties/smp.config.properties" > "${SMP_CONFIG_DIR}/config/smp.config.properties"
+else
+  cat <<EOT >"${SMP_CONFIG_DIR}/config/smp.config.properties"
+hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
+datasource.jndi=jdbc/eDeliverySmpDs
+authentication.blueCoat.enabled=true
+log.folder=./logs/
+configuration.dir=${SMP_SECURITY_DIR}/
+EOT
+fi
+
+cp /u01/oracle/init/smp.war "${WL_DOMAIN_HOME}/"
+ls -ltr "${WL_DOMAIN_HOME}/"
+
+# Deploy Application
+wlst.sh -skipWLSModuleScanning "${ORACLE_HOME}"/smp-app-deploy.py
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/ds-deploy.py b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/ds-deploy.py
new file mode 100644
index 000000000..5cc60fa46
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/ds-deploy.py
@@ -0,0 +1,80 @@
+# Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
+#
+# WLST Offline for deploying an application under APP_NAME packaged in APP_PKG_FILE located in APP_PKG_LOCATION
+# It will read the domain under DOMAIN_HOME by default
+#
+# author: Bruno Borges <bruno.borges@oracle.com>
+# since: December, 2015
+#
+import os
+
+# Deployment Information
+domain_name = os.environ.get('WL_DOMAIN_NAME', 'base_domain')
+domain_home = os.environ.get('WL_DOMAIN_HOME', '/u01/oracle/user_projects/domains/' + domain_name)
+cluster_name =  os.environ.get('WL_CLUSTER_NAME')
+admin_name = os.environ.get("WL_ADMIN_NAME", "AdminServer")
+target_name =   os.environ.get('WL_DEPLOYMENT_TARGET')
+
+
+print('Domain Home      : [%s]' % domain_home)
+print('Admin Name       : [%s]' % admin_name)
+print('Cluster Name     : [%s]' % cluster_name)
+print('Deployment target: [%s]' % target_name)
+print('Datasource name  : [%s]' % dsname)
+print('Datasource JNDI  : [%s]' % dsjndiname)
+print('Datasource URL   : [%s]' % dsurl)
+print('Datasource Driver: [%s]' % dsdriver)
+print('Datasource User  : [%s]' % dsusername)
+print('Datasource Test  : [%s]' % dstestquery)
+
+# Read Domain in Offline Mode
+# ===========================
+readDomain(domain_home)
+
+# Create Datasource
+# ==================
+create(dsname, 'JDBCSystemResource')
+cd('/JDBCSystemResource/' + dsname + '/JdbcResource/' + dsname)
+cmo.setName(dsname)
+
+cd('/JDBCSystemResource/' + dsname + '/JdbcResource/' + dsname)
+create('myJdbcDataSourceParams','JDBCDataSourceParams')
+cd('JDBCDataSourceParams/NO_NAME_0')
+set('JNDIName', java.lang.String(dsjndiname))
+set('GlobalTransactionsProtocol', java.lang.String('None'))
+
+cd('/JDBCSystemResource/' + dsname + '/JdbcResource/' + dsname)
+create('myJdbcDriverParams','JDBCDriverParams')
+cd('JDBCDriverParams/NO_NAME_0')
+set('DriverName', dsdriver)
+set('URL', dsurl)
+set('PasswordEncrypted', dspassword)
+set('UseXADataSourceInterface', 'false')
+
+print 'create JDBCDriverParams Properties'
+create('myProperties','Properties')
+cd('Properties/NO_NAME_0')
+create('user','Property')
+cd('Property/user')
+set('Value', dsusername)
+
+cd('../../')
+create('databaseName','Property')
+cd('Property/databaseName')
+set('Value', dsdbname)
+
+print 'create JDBCConnectionPoolParams'
+cd('/JDBCSystemResource/' + dsname + '/JdbcResource/' + dsname)
+create('myJdbcConnectionPoolParams','JDBCConnectionPoolParams')
+cd('JDBCConnectionPoolParams/NO_NAME_0')
+set('TestTableName',dstestquery)
+
+# Assign
+# ======
+assign('JDBCSystemResource', dsname, 'Target', target_name)
+
+# Update Domain, Close It, Exit
+# ==========================
+updateDomain()
+closeDomain()
+exit()
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/enable-server-https.py b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/enable-server-https.py
new file mode 100644
index 000000000..bb3de92bf
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/enable-server-https.py
@@ -0,0 +1,57 @@
+# pass keystore as the first parameter
+keystore_path = sys.argv[1]
+truststore_path = sys.argv[2]
+domain_name = os.environ.get("WL_DOMAIN_NAME", "")
+domain_path = os.environ.get("WL_DOMAIN_HOME", "")
+admin_server_name = os.environ.get("WL_ADMIN_NAME", "")
+admin_https_port = int(os.environ.get("WL_ADMIN_PORT_HTTPS", "7002"))
+ksIdentityPassword=os.environ.get("WL_SERVER_TLS_KEYSTORE_PASS", "")
+ksIdentityAlias=os.environ.get("WL_ADMIN_HOST", "")
+
+print('domain_name : [%s]' % domain_name)
+print('domain_home : [%s]' % domain_path)
+print('keystore_path : [%s]' % keystore_path)
+print('truststore_path : [%s]' % truststore_path)
+print('admin_server_name : [%s]' % admin_server_name)
+print('admin_https_port : [%s]' % admin_https_port)
+print('Configure  : [%s]' % '/Servers/'+admin_server_name+'/TLS/' + admin_server_name)
+
+def configureHTTPS():
+    # ------------------------------------
+    try:
+        # configure HTTPS for admin server
+        cd('/Servers/%s/' % admin_server_name)
+        # set custom Identity and standards java Trust..
+        cmo.setKeyStores('CustomIdentityAndCustomTrust')
+        cmo.setCustomIdentityKeyStoreFileName(keystore_path)
+        cmo.setCustomIdentityKeyStoreType('PKCS12')
+        set('CustomIdentityKeyStorePassPhraseEncrypted', ksIdentityPassword)
+
+        # set truststore
+        cmo.setCustomTrustKeyStoreFileName(truststore_path)
+        set('CustomTrustKeyStorePassPhraseEncrypted', ksIdentityPassword)
+        cmo.setCustomTrustKeyStoreType('PKCS12')
+
+        create(admin_server_name, 'SSL')
+        cd('/Servers/'+admin_server_name+'/SSL/' + admin_server_name)
+        cmo.setServerPrivateKeyAlias(ksIdentityAlias)
+        set('ServerPrivateKeyPassPhraseEncrypted', ksIdentityPassword)
+
+
+        cd('/Servers/'+admin_server_name+'/SSL/' + admin_server_name)
+        cmo.setEnabled(true)
+        cmo.setListenPort(admin_https_port)
+    except Exception, e:
+        print "Error occurred while configuring server keystore and HTTPS connector"
+        dumpStack()
+        print e
+
+# Enable Use Authorization Providers to Protect JMX Access by default
+print('Enable server SSL ...')
+
+readDomain(domain_path)
+configureHTTPS()
+updateDomain()
+closeDomain()
+
+exit()
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/functions/keystore.functions b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/functions/keystore.functions
new file mode 100644
index 000000000..e339ff832
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/functions/keystore.functions
@@ -0,0 +1,301 @@
+
+
+
+#
+# Provides functions to help setup keystores that will be used in Docker images.
+#
+
+#
+# Downloads the certificate of an SSL server certificate into a file having the provided name. The ".pem" extension is
+# automatically appended to the file name and the file will be created into the ${CERTIFICATES} location.
+#
+# Args:
+#   $1 - SSL server host and port, divided by the ':' character
+#   $2 - the name of the file into which to save the certificate
+downloadSslCertificate() {
+	: "${CERTIFICATES:?Need to set CERTIFICATES non-empty}"
+	: "${1:?Please provide the SSL server host and port (i.e. host:port) as the first parameter}"
+	: "${2:?Please provide the certificate name as the second parameter (e.g. 'red_gw', 'be00000001')}"
+
+	local serverHostAndPort="${1}"
+	local certificateName="${2}"
+
+	echo "Downloading SSL certificate from ${serverHostAndPort} to the ${CERTIFICATES} location: certificateName=${certificateName}"
+
+	keytool -printcert \
+		-sslserver "${serverHostAndPort}" \
+		-rfc 2>/dev/null >"${CERTIFICATES}"/"${certificateName}".pem
+}
+
+#
+# Checks whether a keystore entry exists in a keystore file.
+#
+# Args:
+#   $1 - keystore file name
+#   $2 - alias for the entry to be checked for its existence (e.g. 'red_gw', 'blue_gw')
+#   $3 - keystore password
+#   $4 - (optional) keystore type; "JKS" by default
+containsKeystoreEntry() {
+	: "${1:?Please provide the keystore file name as the first parameter}"
+	: "${2:?Please provide the alias for the keystore entry as the second parameter (e.g. 'red_gw', 'blue_gw')}"
+	: "${3:?Please provide the keystore password as the third parameter}"
+
+	local keystoreFileName="${1}"
+	local keystoreAlias="${2}"
+	local keystorePassword="${3}"
+	local keystoreType="${4:-JKS}"
+
+	echo "Checking for the presence of the keystore entry ${keystoreAlias} inside keystore ${keystoreFileName}: \
+keystorePassword=${keystorePassword}, keystoreType=${keystoreType}"
+
+	local result=$(keytool -list -alias "${keystoreAlias}" \
+		-storetype "${keystoreType}" \
+		-keystore "${keystoreFileName}" \
+		-storepass "${keystorePassword}" \
+		-rfc 2>/dev/null | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | wc -l)
+
+	((result > 0))
+}
+
+#
+# Exports an entry from a keystore file to a certificate file. The certificate file will have the same name
+# as the alias of the entry and will be exported to the ${CERTIFICATES} location, having a ".pem" extension.
+#
+# Args:
+#   $1 - keystore file name
+#   $2 - alias for the entry to be exported (e.g. 'red_gw', 'blue_gw')
+#   $3 - keystore password
+#   $4 - (optional) keystore type; "JKS" by default
+exportCertificate() {
+	: "${CERTIFICATES:?Need to set CERTIFICATES non-empty}"
+	: "${1:?Please provide the keystore file name as the first parameter}"
+	: "${2:?Please provide the alias for the keystore entry as the second parameter (e.g. 'red_gw', 'blue_gw')}"
+	: "${3:?Please provide the keystore password as the third parameter}"
+
+	local keystoreFileName="${1}"
+	local keystoreAlias="${2}"
+	local keystorePassword="${3}"
+	local keystoreType="${4:-JKS}"
+
+	echo "Exporting entry from ${keystoreFileName}: keystoreAlias=${keystoreAlias}, keystorePassword=${keystorePassword}, \
+keystoreType=${keystoreType}"
+
+	keytool -exportcert \
+		-alias "${keystoreAlias}" \
+		-file "${CERTIFICATES}/${keystoreAlias}.pem" \
+		-storetype "${keystoreType}" \
+		-keystore "${keystoreFileName}" \
+		-storepass "${keystorePassword}" \
+		-rfc \
+		-v 2>/dev/null
+}
+
+#
+# Imports an entry into a keystore file from an existing certificate file. The certificate file MUST have the same name
+# as the alias of the entry to be imported and MUST be present in the ${CERTIFICATES} location, having a ".pem" extension.
+#
+# Args:
+#   $1 - keystore file name
+#   $2 - alias for the entry to be imported (e.g. 'red_gw', 'blue_gw')
+#   $3 - keystore password
+#   $4 - private key password
+#   $5 - (optional) keystore type; "JKS" by default
+importCertificate() {
+	: "${CERTIFICATES:?Need to set CERTIFICATES non-empty}"
+	: "${1:?Please provide the keystore file name as the first parameter}"
+	: "${2:?Please provide the alias for the keystore entry as the second parameter (e.g. 'red_gw', 'blue_gw')}"
+	: "${3:?Please provide the keystore password as the third parameter}"
+	: "${4:?Please provide the private key password for the keystore entry as the fourth parameter}"
+
+	local keystoreFileName="${1}"
+	local keystoreAlias="${2}"
+	local keystorePassword="${3}"
+	local privateKeyPassword="${4}"
+	local keystoreType="${5:-JKS}"
+
+	echo "Importing entry into ${keystoreFileName}: keystoreAlias=${keystoreAlias}, keystorePassword=${keystorePassword}, \
+privateKeyPassword=${privateKeyPassword}, keystoreType=${keystoreType}"
+
+	keytool -importcert \
+		-alias "${keystoreAlias}" \
+		-file "${CERTIFICATES}/${keystoreAlias}.pem" \
+		-keypass "${privateKeyPassword}" \
+		-noprompt \
+		-storetype "${keystoreType}" \
+		-keystore "${keystoreFileName}" \
+		-storepass "${keystorePassword}" \
+		-v 2>/dev/null
+}
+
+#
+# Imports a single or all of the entries from a source keystore to a destination keystore. The source and destination
+# keystores must be in the same directory.
+#
+# If the source alias is missing, all the entries are imported from the source keystore; otherwise, only a single entry
+# is imported. If a destination alias is not provided, then source alias is used as the destination alias.
+#
+# Unless otherwise specified, the source and destination keystore are by default of type "JKS".
+#
+# Args:
+#   $1 - source keystore file name
+#   $2 - destination keystore file name
+#   $3 - source keystore password
+#   $4 - destination keystore password
+#   $5 - source private key password
+#   $6 - destination private key password
+#   $7 - (optional) source alias for the entry to be imported (e.g. 'red_gw', 'blue_gw');
+#   $8 - (optional) destination alias for the entry to be imported (e.g. 'red_gw', 'blue_gw');
+#   $9 - (optional) source keystore type; "JKS" by default
+#   $10 - (optional) destination keystore type; "JKS" by default
+importKeystore() {
+	: "${1:?Please provide the source keystore file name as the first parameter}"
+	: "${2:?Please provide the destination keystore file name as the second parameter}"
+	: "${3:?Please provide the source keystore password as the third parameter}"
+	: "${4:?Please provide the destination keystore password as the fourth parameter}"
+	: "${5:?Please provide the private key password for the source keystore entry as the fifth parameter}"
+	: "${6:?Please provide the private key password for the destination keystore entry as the sixth parameter}"
+
+	local srcKeystoreFileName="${1}"
+	local destKeystoreFileName="${2}"
+	local srcKeystorePassword="${3}"
+	local destKeystorePassword="${4}"
+	local sourcePrivateKeyPassword="${5}"
+	local destinationPrivateKeyPassword="${6}"
+	local sourceKeystoreAlias="${7}"
+	local destinationKeystoreAlias="${8}"
+	local sourceKeystoreType="${9:-JKS}"
+	local destinationKeystoreType="${10:-JKS}"
+
+	echo "Importing keystore entries from ${srcKeystoreFileName} to ${destKeystoreFileName}: \
+srcKeystorePassword=${srcKeystorePassword}, destKeystorePassword=${destKeystorePassword}, \
+sourcePrivateKeyPassword=${sourcePrivateKeyPassword}, destinationPrivateKeyPassword=${destinationPrivateKeyPassword}, \
+sourceKeystoreAlias=${sourceKeystoreAlias}, destinationKeystoreAlias=${destinationKeystoreAlias}, \
+sourceKeystoreType=${sourceKeystoreType}, destinationKeystoreType=${destinationKeystoreType}"
+
+	keytool -importkeystore \
+		-srckeystore "${srcKeystoreFileName}" \
+		-destkeystore "${destKeystoreFileName}" \
+		-srcstorepass "${srcKeystorePassword}" \
+		-deststorepass "${destKeystorePassword}" \
+		-srckeypass "${sourcePrivateKeyPassword}" \
+		-destkeypass "${destinationPrivateKeyPassword}" \
+		-noprompt \
+		${sourceKeystoreAlias:+-srcalias "${sourceKeystoreAlias}"} \
+		${destinationKeystoreAlias:+-destalias "${destinationKeystoreAlias}"} \
+		-srcstoretype "${sourceKeystoreType}" \
+		-deststoretype "${destinationKeystoreType}" \
+		-v 2>/dev/null
+}
+
+#
+# Removes an existing entry from a keystore file.
+#
+# Args:
+#   $1 - keystore file name
+#   $2 - alias for the entry to be removed (e.g. 'red_gw', 'blue_gw')
+#   $3 - keystore password
+#   $4 - (optional) keystore type; "JKS" by default
+removeKeystoreEntry() {
+	: "${1:?Please provide the keystore file name as the first parameter}"
+	: "${2:?Please provide the alias for the keystore entry as the second parameter (e.g. 'red_gw', 'blue_gw')}"
+	: "${3:?Please provide the keystore password as the third parameter}"
+
+	local keystoreFileName="${1}"
+	local keystoreAlias="${2}"
+	local keystorePassword="${3}"
+	local keystoreType="${4:-JKS}"
+
+	echo "Removing entry from ${keystoreFileName}: keystoreAlias=${keystoreAlias}, keystorePassword=${keystorePassword}, \
+keystoreType=${keystoreType}"
+
+	keytool -delete \
+		-alias "${keystoreAlias}" \
+		-storetype "${keystoreType}" \
+		-keystore "${keystoreFileName}" \
+		-storepass "${keystorePassword}" \
+		-v 2>/dev/null
+}
+
+#
+# Creates a new keystore with one key/certificate C=EU,O=eDelivery,OU=SMP_TEST,CN=${keystoreAlias}".
+#
+# Args:
+#   $1 - alias for the keystore entry (e.g. 'red_gw', 'blue_gw')
+#   $2 - keystore password
+#   $3 - private key password
+#   $4 - domain name to use as prefix for the keystore files; empty for the default domain
+generateKeyStore() {
+	: "${CERTIFICATES:?Need to set CERTIFICATES non-empty}"
+	: "${1:?Please provide the alias of the keystore entry as the first parameter (e.g. 'red_gw', 'blue_gw')}"
+	: "${2:?Please provide the keystore password as the second parameter}"
+	: "${3:?Please provide the private key password as the third parameter}"
+	: "${4:?Please provide the keystore path as the fourth parameter}"
+
+	local keystoreAlias="${1}"
+	local keystorePassword="${2}"
+	local privateKeyPassword="${3}"
+	local keystoreFilePath="${4}"
+
+	echo "Generating keystore ${keystoreFilePath} using: keystoreAlias=${keystoreAlias}"
+
+	if containsKeystoreEntry "${keystoreFilePath}" "${keystoreAlias}" "${keystorePassword}"; then
+		echo "Cert with keystoreAlias=${keystoreAlias}  already exists in  ${keystoreFilePath}. Deleting keystore entry before creating it again!"
+		removeKeystoreEntry "${keystoreFilePath}" "${keystoreAlias}" "${keystorePassword}"
+	fi
+
+	keytool -genkeypair \
+		-dname "C=EU,O=eDelivery,OU=SMP_TEST,CN=${keystoreAlias}" \
+		-alias "${keystoreAlias}" \
+		-keyalg RSA \
+		-keysize 2048 \
+		-keypass "${privateKeyPassword}" \
+		-validity 3652 \
+		-storetype PKCS12 \
+		-keystore "${keystoreFilePath}" \
+		-storepass "${keystorePassword}" \
+		-v 2>/dev/null
+
+	if [ -f "${CERTIFICATES}/${keystoreAlias}.pem" ]; then
+		echo "The certificate ${CERTIFICATES}/${keystoreAlias}.pem shouldn't already exist"
+		exit 1
+	fi
+
+	exportCertificate "${keystoreFilePath}" "${keystoreAlias}" "${keystorePassword}"
+
+	chmod a+w "${keystoreFilePath}"
+}
+
+#
+# Imports an existing public-key certificate into a truststore. If the truststore is missing, it will be created. The
+# name of the truststore chosen as destination will be "gateway_truststore.jks" unless the optional domain name
+# argument is provided - in this case the name of the truststore used will be "gateway_truststore_DOMAIN.jks" -.
+#
+# Args:
+#   $1 - alias for the destination entry (e.g. 'red_gw', 'blue_gw')
+#   $2 - keystore password for the destination truststore
+#   $3 - private key password for both the destination entry
+#   $4 - domain name to use as prefix for the truststore file; empty for the default domain
+updateTrustStore() {
+	: "${CERTIFICATES:?Need to set CERTIFICATES non-empty}"
+	: "${1:?Please provide the alias for both the source and destination keystore entries as the first parameter (e.g. 'red_gw', 'blue_gw')}"
+	: "${2:?Please provide the keystore password for both the source and destination keystores as the second parameter}"
+	: "${3:?Please provide the private key password for both the source and destination keystore entries as the third parameter}"
+	: "${4:?Please provide the domain name as the fourth parameter}"
+
+	local keystoreAlias="${1}"
+	local keystorePassword="${2}"
+	local privateKeyPassword="${3}"
+	local domainName="${4}"
+	local truststoreFileName="${domainName}-gateway_truststore.jks"
+
+	echo "Updating truststore ${truststoreFileName} using: keystoreAlias=${keystoreAlias}, domainName=${domainName}"
+
+	if containsKeystoreEntry "${truststoreFileName}" "${keystoreAlias}" "${keystorePassword}"; then
+		echo "Cert with keystoreAlias=${keystoreAlias}  already exists in ${truststoreFileName}. Deleting truststore entry before importing certificate!"
+		removeKeystoreEntry "${truststoreFileName}" "${keystoreAlias}" "${keystorePassword}"
+	fi
+
+	importCertificate "${truststoreFileName}" "${keystoreAlias}" "${keystorePassword}" "${privateKeyPassword}"
+
+	chmod a+w "${truststoreFileName}"
+}
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/shutdown-servers.py b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/shutdown-servers.py
new file mode 100644
index 000000000..3b64cfdcc
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/shutdown-servers.py
@@ -0,0 +1,15 @@
+host = sys.argv[1]
+port = sys.argv[2]
+user_name = sys.argv[3]
+password = sys.argv[4]
+name = sys.argv[5]
+
+print('host     : [%s]' % host);
+print('port      : [%s]' % port);
+print('user_name     : [%s]' % user_name);
+print('password     : ********');
+print('name     : [%s]' % name);
+
+connect(user_name, password, 't3://' + host + ':' + port)
+shutdown(name, 'Server', ignoreSessions='true')
+exit()
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/smp-app-deploy.py b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/smp-app-deploy.py
new file mode 100644
index 000000000..a446f5a9c
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/smp-app-deploy.py
@@ -0,0 +1,51 @@
+    # Copyright (c) 2019 Oracle and/or its affiliates. All rights reserved.
+#
+#Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
+#
+
+# WLST Offline for deploying an application under APP_NAME packaged in APP_PKG_FILE located in APP_PKG_LOCATION
+# It will read the domain under DOMAIN_HOME by default
+#
+# author: Monica Riccelli <monica.riccelli@oracle.com>
+#
+import os
+
+# Deployment Information
+domainhome = os.environ.get('WL_DOMAIN_HOME', '/u01/oracle/user_projects/domains/base_domain')
+admin_name = os.environ.get('WL_ADMIN_NAME', 'AdminServer')
+appVersion    = os.environ.get('SMP_VERSION', '5.0')
+appfilename    = os.environ.get('WL_APP_FILE_NAME', 'smp')
+appname    = os.environ.get('WL_APP_NAME', appfilename+'#'+appVersion)
+appfile    = os.environ.get('APP_FILE', 'smp.war')
+appdir     = os.environ.get('WL_DOMAIN_HOME')
+cluster_name =   os.environ.get('WL_CLUSTER_NAME')
+target_name =   os.environ.get('WL_DEPLOYMENT_TARGET')
+
+print('Domain Home      : [%s]' % domainhome)
+print('Admin Name       : [%s]' % admin_name)
+print('Cluster Name     : [%s]' % cluster_name)
+print('Deployment target: [%s]' % target_name)
+print('Application Name : [%s]' % appname)
+print('appfile          : [%s]' % appfile)
+print('appdir           : [%s]' % appdir)
+# Read Domain in Offline Mode
+# ===========================
+readDomain(domainhome)
+
+# Create Application
+# ==================
+cd('/')
+app = create(appname, 'AppDeployment')
+app.setSourcePath(appdir + '/' + appfile)
+app.setStagingMode('nostage')
+
+
+# Assign application to AdminServer
+# =================================
+assign('AppDeployment', appname, 'Target', target_name)
+
+# Update Domain, Close It, Exit
+# ==========================
+updateDomain()
+closeDomain()
+exit()
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/wlst b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/wlst
new file mode 100755
index 000000000..29c0f89aa
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/init-scripts/wlst
@@ -0,0 +1,6 @@
+#!/bin/sh
+#
+# This script will be in PATH and it will skip module scanning by default, making WLST calls much faster
+# If you know what you are doing, call actual wlst.sh
+#
+wlst.sh -skipWLSModuleScanning $@
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/startAdminServer.sh b/smp-docker/images/weblogic-14.1-smp/container-scripts/startAdminServer.sh
new file mode 100755
index 000000000..57154bc49
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/startAdminServer.sh
@@ -0,0 +1,144 @@
+#!/bin/bash
+#
+#Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved.
+#
+#Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
+
+#Define DOMAIN_HOME
+echo "Oracle Home is: " "$ORACLE_HOME"
+echo "Domain Home is: " "${WL_DOMAIN_HOME}"
+echo "Delay startup in seconds: ${WL_DELAY_STARTUP_IN_S:-0}"
+sleep ${WL_DELAY_STARTUP_IN_S:-0}
+
+
+# init setup properties
+STATUS_FILE=${WL_STATUS_FOLDER}/wls-admin.started
+# delete status file if already exists..
+[ -e "${STATUS_FILE}" ] && rm "${STATUS_FILE}"
+
+function initWebLogicDomain(){
+  echo "Init WebLogic domain"
+  INIT_SCRIPTS=$1
+  echo "Start createWLSDomain.sh from ${INIT_SCRIPTS}"
+  "${INIT_SCRIPTS}"/createWLSDomain.sh "${INIT_SCRIPTS}"
+  echo "Set execution flag for all sh scripts in ${WL_DOMAIN_HOME}/bin"
+  chmod -R a+x ${WL_DOMAIN_HOME}/bin/*.sh
+}
+
+function deploy_smp() {
+  echo "Deploy SMP"
+  INIT_SCRIPTS=$1
+  "${INIT_SCRIPTS}"/deploySMPToDomain.sh "${INIT_SCRIPTS}"
+
+  # set enforce-valid-basic-auth-credentials false to allow basic authentication for rest services
+  sed -i -e "s/<\/security-configuration>/  <enforce-valid-basic-auth-credentials>false<\/enforce-valid-basic-auth-credentials>\n<\/security-configuration>/g" "${WL_DOMAIN_HOME}/config/config.xml"
+
+}
+
+# If AdminServer.log does not exists, container is starting for 1st time
+# So it should start NM and also associate with AdminServer
+# Otherwise, only start NM (container restarted)
+########### SIGTERM handler ############
+function _term() {
+  echo "Stopping container."
+  echo "SIGTERM received, shutting down the server!"
+  ${DOMAIN_HOME}/bin/stopWebLogic.sh
+}
+
+########### SIGKILL handler ############
+function _kill() {
+  echo "SIGKILL received, shutting down the server!"
+  kill -9 $childPID
+}
+
+# Set SIGTERM handler
+trap _term SIGTERM
+
+# Set SIGKILL handler
+trap _kill SIGKILL
+
+#Loop determining state of WLS
+function check_wls() {
+  action=$1
+  host=$2
+  port=$3
+  sleeptime=$4
+  echo "action:$action,host:$host,port:$port,sleeptime:$sleeptime,"
+  while true; do
+    sleep $sleeptime
+    if [ "$action" == "started" ]; then
+      started_url="http://$host:$port/weblogic/ready"
+      echo -e "Waiting for WebLogic server to get $action, checking $started_url"
+      status=$(/usr/bin/curl -s -i $started_url | grep "200 OK")
+      echo "Status:" $status
+      if [ ! -z "$status" ]; then
+        break
+      fi
+    elif [ "$action" == "shutdown" ]; then
+      shutdown_url="http://$host:$port"
+      echo -e "Waiting for WebLogic server to get $action, checking $shutdown_url"
+      status=$(/usr/bin/curl -s -i $shutdown_url | grep "500 Can't connect")
+      if [ ! -z "$status" ]; then
+        break
+      fi
+    fi
+  done
+  echo -e "WebLogic Server has $action"
+}
+
+export AS_HOME="${WL_DOMAIN_HOME}/servers/${WL_ADMIN_NAME}"
+export AS_SECURITY="${AS_HOME}/security"
+
+
+
+if [ -f ${AS_HOME}/logs/${ADMIN_NAME}.log ]; then
+  exit
+fi
+echo "Initialize domain and deploy smp"
+# initialize docker image
+cd ~ || exit 13
+if [ ! -f ".initialized" ]; then
+  echo "Initialize domain and deploy smp"
+  INIT_SCRIPTS=${ORACLE_HOME}/init/scripts
+  initWebLogicDomain "${INIT_SCRIPTS}"
+  deploy_smp "${INIT_SCRIPTS}"
+  [ -f "${DOCKER_DATA}/${WL_CLUSTER_NAME}.jar" ] && rm -rf "${DOCKER_DATA}/${WL_CLUSTER_NAME}-${SMP_VERSION}.jar"
+  pack.sh -domain="${WL_DOMAIN_HOME}" \
+          -template="${DOCKER_DATA}/${WL_CLUSTER_NAME}-${SMP_VERSION}.jar" \
+          -template_name="${WL_CLUSTER_NAME}" \
+          -managed="true" \
+          -template_desc="${WL_DOMAIN_NAME}-managed-template-for-SMP-${SMP_VERSION}"
+
+  touch ~/.initialized
+fi
+
+echo "Admin Server Home: ${AS_HOME}"
+echo "Admin Server Security: ${AS_SECURITY}"
+
+# WL_SECURITY_FILE should be created in createWLSDomain script
+SEC_PROPERTIES_FILE=${WL_SECURITY_FILE}
+if [ ! -e "${SEC_PROPERTIES_FILE}" ]; then
+  echo "A security.properties file with the username and password needs to be supplied."
+  exit
+fi
+
+#Define Java Options
+JAVA_OPTIONS=$(awk '{print $1}' ${SEC_PROPERTIES_FILE} | grep ^JAVA_OPTIONS= | cut -d "=" -f2)
+if [ -z "${JAVA_OPTIONS}" ]; then
+  JAVA_OPTIONS="-Dweblogic.StdoutDebugEnabled=false"
+fi
+export JAVA_OPTIONS=${JAVA_OPTIONS}
+
+
+#echo 'Running Admin Server in background'
+${WL_DOMAIN_HOME}/bin/startWebLogic.sh &
+
+#echo 'Waiting for Admin Server to reach RUNNING state'
+check_wls "started" localhost ${WL_ADMIN_PORT} 2
+echo "Smp admin server started" >>"$STATUS_FILE"
+
+# tail the Admin Server Logs
+tail -f ${AS_HOME}/logs/${WL_ADMIN_NAME}.log &
+
+childPID=$!
+wait $childPID
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/startManagedServer.sh b/smp-docker/images/weblogic-14.1-smp/container-scripts/startManagedServer.sh
new file mode 100755
index 000000000..10bd66921
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/startManagedServer.sh
@@ -0,0 +1,93 @@
+#!/bin/bash
+#
+# Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved.
+#
+# If log.nm does not exists, container is starting for 1st time
+# So it should start NM and also associate with AdminServer, as well Managed Server
+# Otherwise, only start NM (container is being restarted)
+
+echo "Delay startup in seconds: ${WL_DELAY_STARTUP_IN_S:-0}"
+sleep ${WL_DELAY_STARTUP_IN_S:-0}
+
+function initWebLogicDomain(){
+  echo "Init WebLogic domain"
+  INIT_SCRIPTS=$1
+  echo "Start createWLSDomain.sh from ${INIT_SCRIPTS}"
+  "${INIT_SCRIPTS}"/createWLSDomain.sh "${INIT_SCRIPTS}"
+  echo "Set execution flag for all sh scripts in ${WL_DOMAIN_HOME}/bin"
+  chmod -R a+x ${WL_DOMAIN_HOME}/bin/*.sh
+}
+
+
+export MS_HOME="${WL_DOMAIN_HOME}/servers/${WL_MANAGED_SERV_NAME}"
+export MS_SECURITY="${MS_HOME}/security"
+
+if [ -f ${MS_HOME}/logs/${WL_MANAGED_SERV_NAME}.log ]; then
+   echo "Log file already exists ${MS_HOME}/logs/${WL_MANAGED_SERV_NAME}.log"
+   exit
+fi
+
+# Wait for AdminServer to become available for any subsequent operation
+/u01/oracle/waitForAdminServer.sh
+
+echo "Managed Server Name: ${WL_MANAGED_SERV_NAME}"
+echo "Managed Server Home: ${MS_HOME}"
+echo "Managed Server Security: ${MS_SECURITY}"
+
+SEC_PROPERTIES_FILE=${WL_SECURITY_FILE}
+if [ ! -e "${SEC_PROPERTIES_FILE}" ]; then
+   echo "A properties file with the username and password needs to be supplied. Use default properties"
+   exit
+fi
+
+# Get Username
+USER=`awk '{print $1}' ${SEC_PROPERTIES_FILE} | grep username | cut -d "=" -f2`
+if [ -z "${USER}" ]; then
+   echo "The domain username is blank.  The Admin username must be set in the properties file."
+   exit
+fi
+# Get Password
+PASS=`awk '{print $1}' ${SEC_PROPERTIES_FILE} | grep password | cut -d "=" -f2`
+if [ -z "${PASS}" ]; then
+   echo "The domain password is blank.  The Admin password must be set in the properties file."
+   exit
+fi
+
+# initialize docker image
+cd ~ || exit 13
+if [ ! -f ".initialized" ]; then
+  INIT_SCRIPTS=${ORACLE_HOME}/init/scripts
+  echo "create domain folder ${WL_DOMAIN_HOME}"
+  unpack.sh -template="${DOCKER_DATA}/${WL_CLUSTER_NAME}-${SMP_VERSION}.jar" -domain="${WL_DOMAIN_HOME}" -app_dir="${WL_DOMAIN_HOME}"
+  touch ~/.initialized
+fi
+
+cd ${WL_DOMAIN_HOME}
+
+
+
+#Set Java Options
+JAVA_OPTIONS=`awk '{print $1}' ${SEC_PROPERTIES_FILE} | grep ^JAVA_OPTIONS= | cut -d "=" -f2`
+if [ -z "${JAVA_OPTIONS}" ]; then
+   JAVA_OPTIONS="-Dweblogic.StdoutDebugEnabled=false"
+fi
+export JAVA_OPTIONS=${JAVA_OPTIONS}
+echo "Java Options: ${JAVA_OPTIONS}"
+
+# Create Managed Server
+mkdir -p "${MS_SECURITY}"
+echo "username=${USER}" >> "${MS_SECURITY}"/boot.properties
+echo "password=${PASS}" >> "${MS_SECURITY}"/boot.properties
+
+
+"${WL_DOMAIN_HOME}"/bin/setDomainEnv.sh
+
+# Start 'ManagedServer'
+echo "Start Managed Server"
+"${WL_DOMAIN_HOME}"/bin/startManagedWebLogic.sh ${WL_MANAGED_SERV_NAME} http://${WL_ADMIN_HOST}:${WL_ADMIN_PORT}
+
+# tail Managed Server log
+tail -f ${MS_HOME}/logs/"${WL_MANAGED_SERV_NAME}".log &
+
+childPID=$!
+wait $childPID
diff --git a/smp-docker/images/weblogic-14.1-smp/container-scripts/waitForAdminServer.sh b/smp-docker/images/weblogic-14.1-smp/container-scripts/waitForAdminServer.sh
new file mode 100755
index 000000000..24da5874d
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/container-scripts/waitForAdminServer.sh
@@ -0,0 +1,20 @@
+#!/bin/bash
+#
+#Copyright (c) 2014-2018 Oracle and/or its affiliates. All rights reserved.
+#
+#Licensed under the Universal Permissive License v 1.0 as shown at http://oss.oracle.com/licenses/upl.
+#
+# This script will wait until Admin Server is available.
+# There is no timeout!
+#
+echo "Waiting for WebLogic Admin Server on $WL_ADMIN_HOST:$WL_ADMIN_PORT to become available..."
+while :
+do
+  (echo > /dev/tcp/$WL_ADMIN_HOST/$WL_ADMIN_PORT) >/dev/null 2>&1
+  available=$?
+  if [[ $available -eq 0 ]]; then
+    echo "WebLogic Admin Server is now available. Proceeding..."
+    break
+  fi
+  sleep 1
+done
diff --git a/smp-docker/images/weblogic-14.1-smp/properties/init/datasource.properties b/smp-docker/images/weblogic-14.1-smp/properties/init/datasource.properties
new file mode 100644
index 000000000..2bdd46c3d
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/properties/init/datasource.properties
@@ -0,0 +1,8 @@
+dsname=eDeliverySmpDs
+dsdbname=eDeliverySmpDs
+dsjndiname=jdbc/eDeliverySmpDs
+dsdriver=oracle.jdbc.OracleDriver
+dsurl=jdbc:oracle:thin:@//smp-oracle-db:1521/xe
+dsusername=smp
+dspassword=test
+dstestquery=SQL SELECT 1 FROM DUAL
diff --git a/smp-docker/images/weblogic-14.1-smp/properties/init/domain.properties b/smp-docker/images/weblogic-14.1-smp/properties/init/domain.properties
new file mode 100644
index 000000000..d7ac9c8f6
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/properties/init/domain.properties
@@ -0,0 +1,4 @@
+CLUSTER_TYPE=DYNAMIC
+JAVA_OPTIONS=-Dweblogic.StdoutDebugEnabled=false
+T3_CHANNEL_PORT=30012
+T3_PUBLIC_ADDRESS=kubernetes
\ No newline at end of file
diff --git a/smp-docker/images/weblogic-14.1-smp/properties/init/smp.config.properties b/smp-docker/images/weblogic-14.1-smp/properties/init/smp.config.properties
new file mode 100644
index 000000000..d6cc55361
--- /dev/null
+++ b/smp-docker/images/weblogic-14.1-smp/properties/init/smp.config.properties
@@ -0,0 +1,8 @@
+
+configuration.dir=/data/smp/security
+hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
+datasource.jndi=jdbc/eDeliverySmpDs
+authentication.blueCoat.enabled=true
+smp.truststore.password={DEC}{test123}
+smp.keystore.password={DEC}{test123}
+log.folder=./logs/
diff --git a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
index 8c504ca2e..4f029b55d 100644
--- a/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
+++ b/smp-server-library/src/main/java/eu/europa/ec/edelivery/smp/data/ui/enums/SMPPropertyEnum.java
@@ -78,11 +78,11 @@ public enum SMPPropertyEnum {
     // keystore truststore
     KEYSTORE_PASSWORD("smp.keystore.password", "", "Encrypted keystore (and keys) password ",
             OPTIONAL, ENCRYPTED, NO_RESTART_NEEDED, STRING),
-    KEYSTORE_TYPE("smp.keystore.type", "JKS", "Keystore type as JKS/PKCS12",
+    KEYSTORE_TYPE("smp.keystore.type", "PKCS12", "Keystore type as JKS/PKCS12",
             OPTIONAL, NOT_ENCRYPTED, NO_RESTART_NEEDED, STRING),
-    KEYSTORE_FILENAME("smp.keystore.filename", "smp-keystore.jks", "Keystore filename ",
+    KEYSTORE_FILENAME("smp.keystore.filename", "smp-keystore.p12", "Keystore filename ",
             MANDATORY, NOT_ENCRYPTED, NO_RESTART_NEEDED, FILENAME),
-    TRUSTSTORE_TYPE("smp.truststore.type", "JKS", "Truststore type as JKS/PKCS12",
+    TRUSTSTORE_TYPE("smp.truststore.type", "PKCS12", "Truststore type as JKS/PKCS12",
             OPTIONAL, NOT_ENCRYPTED, NO_RESTART_NEEDED, STRING),
     TRUSTSTORE_PASSWORD("smp.truststore.password", "", "Encrypted truststore password ",
             OPTIONAL, ENCRYPTED, NO_RESTART_NEEDED, STRING),
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java
index e3ebcda82..2020a786c 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/services/ui/UITruststoreServiceIntegrationTest.java
@@ -73,6 +73,7 @@ public class UITruststoreServiceIntegrationTest extends AbstractServiceIntegrati
         File truststoreFile = new File(targetDirectory.toFile(), "smp-truststore.jks");
         Mockito.doReturn("test123").when(configurationService).getTruststoreCredentialToken();
         Mockito.doReturn(truststoreFile).when(configurationService).getTruststoreFile();
+        Mockito.doReturn("JKS").when(configurationService).getTruststoreType();
         Mockito.doReturn(targetDirectory.toFile()).when(configurationService).getConfigurationFolder();
         Mockito.doReturn(true).when(configurationService).forceCRLValidation();
         resetKeystore();
diff --git a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java
index ecfd06134..d3bd39584 100644
--- a/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java
+++ b/smp-server-library/src/test/java/eu/europa/ec/edelivery/smp/sml/SmlConnectorDomainTest.java
@@ -70,6 +70,7 @@ public class SmlConnectorDomainTest extends AbstractServiceIntegrationTest {
         Mockito.doNothing().when(testInstance).configureClient(any(), any(), any());
         ReflectionTestUtils.setField(testInstance, "configurationService", configurationService);
         Mockito.doReturn(true).when(configurationService).isSMLIntegrationEnabled();
+        //Mockito.doReturn(true).when(configurationService).isSMLIntegrationEnabled();
         mockSml.reset();
     }
 
diff --git a/smp-server-library/src/test/resources/basic_conf_data-h2.sql b/smp-server-library/src/test/resources/basic_conf_data-h2.sql
index 5ea5c6144..bca3815bd 100644
--- a/smp-server-library/src/test/resources/basic_conf_data-h2.sql
+++ b/smp-server-library/src/test/resources/basic_conf_data-h2.sql
@@ -13,4 +13,5 @@ insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VAL
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('encryption.key.filename','encryptionKey.key',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.password', 'FarFJE2WUfY39SVRTFOqSg==',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.filename', 'smp-keystore.jks',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
+insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.type', 'JKS',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('contextPath.output', 'true',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
diff --git a/smp-soapui-tests/pom.xml b/smp-soapui-tests/pom.xml
index f752d49d8..862c4f8ca 100644
--- a/smp-soapui-tests/pom.xml
+++ b/smp-soapui-tests/pom.xml
@@ -1,4 +1,5 @@
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>eu.europa.ec.edelivery</groupId>
@@ -15,9 +16,14 @@
         <!-- Only selected modules are deployed -->
         <maven.deploy.skip>false</maven.deploy.skip>
         <url>http://localhost:8080/smp</url>
-        <SMPAdminUser />
-        <SMPAdminPassword />
+        <SMPAdminUser/>
+        <SMPAdminPassword/>
         <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
+
+        <http-builder.version>0.7.1</http-builder.version>
+        <reflection.version>0.9.11</reflection.version>
+        <httpcore.version>4.4.3</httpcore.version>
+        <apache.http4.client.version>4.5.14</apache.http4.client.version>
     </properties>
 
     <profiles>
@@ -55,23 +61,46 @@
                             </projectFile>
                             <testSuite>PASSING_AUTO_BAMBOO</testSuite>
                             <!--If you want to execute single test case -->
-                             <!-- testCase>SMP063-EDELIVERY-364 slash encoding-Tomcat</testCase -->
+                            <!-- testCase>SMP063-EDELIVERY-364 slash encoding-Tomcat</testCase -->
+                            <!-- testCase>SMP022-Create ServiceMetadata-Basic Flow</testCase -->
                             <projectProperties>
                                 <value>url=${url}</value>
                                 <value>SMPAdminUser=${SMPAdminUser}</value>
                                 <value>SMPAdminPassword=${SMPAdminPassword}</value>
-                            </projectProperties>
-                        </configuration>
+                        </projectProperties>
+                    </configuration>
+                    <dependencies>
+                        <dependency>
+                            <groupId>org.reflections</groupId>
+                            <artifactId>reflections</artifactId>
+                            <version>${reflection.version}</version>
+                        </dependency>
+                        <dependency>
+                            <groupId>org.codehaus.groovy.modules.http-builder</groupId>
+                            <artifactId>http-builder</artifactId>
+                            <version>${http-builder.version}</version>
+                        </dependency>
+                        <dependency>
+                            <groupId>org.apache.httpcomponents</groupId>
+                            <artifactId>httpcore</artifactId>
+                            <version>${httpcore.version}</version>
+                        </dependency>
+                        <dependency>
+                            <groupId>org.apache.httpcomponents</groupId>
+                            <artifactId>httpclient</artifactId>
+                            <version>${apache.http4.client.version}</version>
+                        </dependency>
+                    </dependencies>
+                    <executions>
+                        <execution>
+                            <phase>integration-test</phase>
+                            <goals>
+                                <goal>test</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
 
-                        <executions>
-                            <execution>
-                                <phase>integration-test</phase>
-                                <goals>
-                                    <goal>test</goal>
-                                </goals>
-                            </execution>
-                        </executions>
-                    </plugin>
                     <!-- extract classes so that JACOCO plugin can find the classes
                     to generate a report (use this option to get Code coverage report for SOAPUI project)
                     -->
diff --git a/smp-webapp/pom.xml b/smp-webapp/pom.xml
index bdb775609..f9d2ac53f 100644
--- a/smp-webapp/pom.xml
+++ b/smp-webapp/pom.xml
@@ -16,16 +16,6 @@
         <maven.deploy.skip>false</maven.deploy.skip>
         <buildtimestamp>${maven.build.timestamp}</buildtimestamp>
         <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss'Z'</maven.build.timestamp.format>
-        <!-- integration tests execution-->
-        <jdbc.driver>org.h2.Driver</jdbc.driver>
-        <jdbc.url>jdbc:h2:file:./target/myDb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=TRUE;AUTO_SERVER=TRUE</jdbc.url>
-        <jdbc.user>smp</jdbc.user>
-        <jdbc.password>****</jdbc.password>
-        <hibernate.dialect>org.hibernate.dialect.H2Dialect</hibernate.dialect>
-        <target-database>H2</target-database>
-        <jdbc.read-connections.max>10</jdbc.read-connections.max>
-        <spring.jpa.generate-ddl>true</spring.jpa.generate-ddl>
-
     </properties>
 
     <dependencies>
diff --git a/smp-webapp/src/main/resources/config.properties b/smp-webapp/src/main/resources/config.properties
index 45dd4059f..4a6bd1681 100644
--- a/smp-webapp/src/main/resources/config.properties
+++ b/smp-webapp/src/main/resources/config.properties
@@ -12,9 +12,6 @@
 #
 
 ## JDBC configuration for DB
-jdbc.driver = ${jdbc.driver}
-jdbc.url = ${jdbc.url}
-jdbc.user = ${jdbc.user}
-jdbc.password = the_password
-target-database = ${target-database}
-jdbc.read-connections.max = ${jdbc.read-connections.max}
\ No newline at end of file
+hibernate.dialect=org.hibernate.dialect.Oracle10gDialect
+datasource.jndi=jdbc/eDeliverySmpDs
+log.folder=logs
diff --git a/smp-webapp/src/test/java/eu/europa/ec/cipa/smp/server/security/SignatureValidatorTest.java b/smp-webapp/src/test/java/eu/europa/ec/cipa/smp/server/security/SignatureValidatorTest.java
index ecca44fe0..b7b18d07d 100644
--- a/smp-webapp/src/test/java/eu/europa/ec/cipa/smp/server/security/SignatureValidatorTest.java
+++ b/smp-webapp/src/test/java/eu/europa/ec/cipa/smp/server/security/SignatureValidatorTest.java
@@ -183,8 +183,6 @@ public class SignatureValidatorTest {
         //Default signature validation
         Element smpSigPointer = SignatureUtil.findSignatureByParentNode(response.getDocumentElement());
         SignatureUtil.validateSignature(smpSigPointer);
-        //Assert.assertEquals(SignatureUtil.loadDocumentAsString(signedByCustomizedSignatureFilePath), signedByCustomizedSignature);
-        //Assert.assertEquals(SignatureUtil.loadDocumentAsString(defaultSignatureFilePath), SignatureUtil.marshall(response) );
     }
 
     public static Document parse(String serviceMetadataXml) throws SAXException, IOException, ParserConfigurationException {
diff --git a/smp-webapp/src/test/resources/webapp_integration_test_data.sql b/smp-webapp/src/test/resources/webapp_integration_test_data.sql
index 165ae31d0..f57df7278 100644
--- a/smp-webapp/src/test/resources/webapp_integration_test_data.sql
+++ b/smp-webapp/src/test/resources/webapp_integration_test_data.sql
@@ -13,7 +13,9 @@ insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VAL
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('encryption.key.filename','encryptionKey.key',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.password', 'FarFJE2WUfY39SVRTFOqSg==',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.filename', 'smp-keystore_multiple_domains.jks',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
+insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.type', 'JKS',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.truststore.filename', 'smp-truststore.jks',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
+insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.truststore.type', 'JKS',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.truststore.password', '{DEC}{test123}',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('contextPath.output', 'true',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
diff --git a/smp-webapp/src/test/resources/webapp_integration_test_data_one_domain.sql b/smp-webapp/src/test/resources/webapp_integration_test_data_one_domain.sql
index 26dae02b2..4ebc88121 100644
--- a/smp-webapp/src/test/resources/webapp_integration_test_data_one_domain.sql
+++ b/smp-webapp/src/test/resources/webapp_integration_test_data_one_domain.sql
@@ -12,6 +12,7 @@ insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VAL
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('encryption.key.filename','encryptionKey.key',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.password', 'FarFJE2WUfY39SVRTFOqSg==',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.filename', 'smp-keystore.jks',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
+insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.keystore.type', 'JKS',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('contextPath.output', 'true',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 insert into SMP_CONFIGURATION (PROPERTY, VALUE, CREATED_ON, LAST_UPDATED_ON) VALUES ('smp.automation.authentication.external.tls.clientCert.enabled', 'true',CURRENT_TIMESTAMP(), CURRENT_TIMESTAMP());
 
-- 
GitLab