diff --git a/comanage-match-base/Dockerfile b/comanage-match-base/Dockerfile
index 8e31efc..f88d471 100644
--- a/comanage-match-base/Dockerfile
+++ b/comanage-match-base/Dockerfile
@@ -16,7 +16,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-FROM php:7.3.5-apache-stretch
+FROM php:7.3.31-apache-bullseye
 
 # Official PHP image with Apache HTTPD includes
 # --with-openssl
@@ -95,8 +95,6 @@ COPY comanage_match_console_logging.patch /usr/local/src/
 COPY DatabaseConnectivityTestCommand.php ${COMANAGE_MATCH_DIR}/app/src/Command/
 COPY DatabaseSetupAlreadyCommand.php ${COMANAGE_MATCH_DIR}/app/src/Command/
 
-VOLUME ${COMANAGE_MATCH_DIR}/local
-
 EXPOSE 80 443
 
 # Allow values for first administrator bootstrapped into the
diff --git a/comanage-match-base/comanage_utils.sh b/comanage-match-base/comanage_utils.sh
index 6aa193c..596219a 100644
--- a/comanage-match-base/comanage_utils.sh
+++ b/comanage-match-base/comanage_utils.sh
@@ -138,6 +138,8 @@ function comanage_utils::exec_apache_http_server() {
 
     comanage_utils::prepare_database_config
 
+    comanage_utils::prepare_email_config
+
     comanage_utils::prepare_https_cert_key
 
     comanage_utils::prepare_server_name
@@ -234,6 +236,105 @@ EOF
     fi
 }
 
+##########################################
+# Prepare email configuration
+# Globals:
+#   COMANAGE_MATCH_EMAIL_ACCOUNT
+#   COMANAGE_MATCH_EMAIL_ACCOUNT_PASSWORD
+#   COMANAGE_MATCH_EMAIL_FROM
+#   COMANAGE_MATCH_EMAIL_HOST
+#   COMANAGE_MATCH_EMAIL_PORT
+#   COMANAGE_MATCH_EMAIL_TRANSPORT
+#   COMANAGE_MATCH_DIR
+# Arguments:
+#   None
+# Returns:
+#   None
+##########################################
+function comanage_utils::prepare_email_config() {
+
+    # If the COmanage Match email configuration file does not exist
+    # then try to create it from injected information with reasonable defaults
+    # that aid simple evaluation deployments.
+    local email_config
+    email_config="$COMANAGE_MATCH_DIR/local/Config/email.php"
+
+    # File already exists so return.
+    if [[ -e "$email_config" ]]; then
+        return
+    fi
+
+    # File does not exist so create it.
+    local php_string
+
+    read -r -d '' php_string <<'EOF'
+<?php
+
+  return [
+      'EmailTransport' => [
+         'default' => [
+
+EOF
+    php_string+=$'\n\t\t'
+
+    if [[ -n "${COMANAGE_MATCH_EMAIL_CLASS_NAME}" ]]; then
+        php_string+=$'\n\t\t'
+        php_string+="'className' => '${COMANAGE_MATCH_EMAIL_CLASS_NAME}',"
+    fi
+
+    if [[ -n "${COMANAGE_MATCH_EMAIL_HOST}" ]]; then
+        php_string+=$'\n\t\t'
+        php_string+="'host' => '${COMANAGE_MATCH_EMAIL_HOST}',"
+    fi
+
+    # The value of port is an integer.
+    if [[ -n "${COMANAGE_MATCH_EMAIL_PORT}" ]]; then
+        php_string+=$'\n\t\t'
+        php_string+="'port' => ${COMANAGE_MATCH_EMAIL_PORT},"
+    fi
+
+    if [[ -n "${COMANAGE_MATCH_EMAIL_ACCOUNT}" ]]; then
+        php_string+=$'\n\t\t'
+        php_string+="'username' => '${COMANAGE_MATCH_EMAIL_ACCOUNT}',"
+    fi
+
+    if [[ -n "${COMANAGE_MATCH_EMAIL_ACCOUNT_PASSWORD}" ]]; then
+        php_string+=$'\n\t\t'
+        php_string+="'password' => '${COMANAGE_MATCH_EMAIL_ACCOUNT_PASSWORD}',"
+    fi
+
+    php_string+=$'\n\t\t'
+    php_string+="'tls' => true,"
+
+    php_string+=$'\n\t'
+    php_string+="],"
+
+    php_string+=$'\n'
+    php_string+="],"
+
+    php_string+=$'\n'
+    php_string+="'Email' => ["
+
+    php_string+=$'\n\t'
+    php_string+="'default' => ["
+
+    php_string+=$'\n\t\t'
+    php_string+="'transport' => 'default',"
+
+    if [[ -n "${COMANAGE_MATCH_EMAIL_FROM_EMAIL}" ]]; then
+        php_string+=$'\n\t\t'
+        php_string+="'from' => '${COMANAGE_MATCH_EMAIL_FROM_EMAIL}',"
+    else
+        php_string+=$'\n\t\t'
+        php_string+="'from' => 'postmaster@organization.edu',"
+
+    fi
+
+    php_string+=$'\n\t\t],\n\t],\n];'
+
+    printf "%s" "$php_string" > $email_config
+}
+
 ##########################################
 # Prepare cert and key for HTTPS
 # Globals:
diff --git a/comanage-match-internet2-tap-base/Dockerfile b/comanage-match-internet2-tap-base/Dockerfile
index 3d87e13..4ad468e 100644
--- a/comanage-match-internet2-tap-base/Dockerfile
+++ b/comanage-match-internet2-tap-base/Dockerfile
@@ -16,9 +16,11 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-FROM centos:centos7 AS php-build
+FROM centos/python-38-centos7 AS php-build
 
-ARG PHP_VERSION=7.3.5
+USER root
+
+ARG PHP_VERSION=7.3.31
 ARG PHP_SRC_URL=https://github.com/php/php-src/archive/php-${PHP_VERSION}.tar.gz
 
 RUN yum -y install epel-release \
@@ -40,7 +42,7 @@ RUN yum -y update \
             libxslt-devel \
             make \
             openssl-devel \
-            postgresql-devel \
+            rh-postgresql13-devel \
             re2c \
             wget \
         && yum clean all
diff --git a/comanage-match-internet2-tap/Dockerfile b/comanage-match-internet2-tap/Dockerfile
index bffd596..cd6f399 100644
--- a/comanage-match-internet2-tap/Dockerfile
+++ b/comanage-match-internet2-tap/Dockerfile
@@ -24,7 +24,9 @@ FROM comanage-match-base:${COMANAGE_MATCH_VERSION}-${COMANAGE_MATCH_BASE_IMAGE_V
 
 FROM comanage-match-internet2-tap-base:${COMANAGE_MATCH_I2_BASE_IMAGE_VERSION} AS php-build
 
-FROM centos:centos7
+FROM centos/python-38-centos7
+
+USER root
 
 ARG COMANAGE_MATCH_VERSION
 ENV COMANAGE_MATCH_VERSION ${COMANAGE_MATCH_VERSION}
@@ -132,7 +134,7 @@ EXPOSE 80 443
 # following line (to prevent other scripts from processing it).
 #####     ENV TIER_BEACON_OPT_OUT True
 
-ENV TIER_RELEASE=190527
+ENV TIER_RELEASE=211005
 ENV TIER_MAINTAINER=tier
 
 ENTRYPOINT ["docker-supervisord-entrypoint"]
diff --git a/comanage-match-postgres/Dockerfile b/comanage-match-postgres/Dockerfile
index cf4ab2d..f009a89 100644
--- a/comanage-match-postgres/Dockerfile
+++ b/comanage-match-postgres/Dockerfile
@@ -16,8 +16,7 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-FROM postgres:11.3
-#FROM postgres:9.6.13
+FROM postgres:13.4
 
 #RUN apt-get update && apt-get install -y \
     #         postgresql-contrib-9.6 \
@@ -41,7 +40,7 @@ ARG COMANAGE_MATCH_POSTGRES_USER_PASSWORD
 
 ENV COMANAGE_MATCH_POSTGRES_DATABASE ${COMANAGE_MATCH_POSTGRES_DATABASE:-match}
 ENV COMANAGE_MATCH_POSTGRES_USER ${COMANAGE_MATCH_POSTGRES_USER:-match_user}
-ENV COMANAGE_MATCH_POSTGRES_USER_PASSWORD ${COMANAGE_MATCH_POSTGRES_USER_PASSWORD:-}
+ENV COMANAGE_MATCH_POSTGRES_USER_PASSWORD ${COMANAGE_MATCH_POSTGRES_USER_PASSWORD:-password}
 
 ENTRYPOINT ["/usr/local/bin/comanage-match-postgres-entrypoint.sh"]
 
diff --git a/comanage-match-postgres/comanage-match-postgres-entrypoint.sh b/comanage-match-postgres/comanage-match-postgres-entrypoint.sh
index 2459571..3ee88c0 100755
--- a/comanage-match-postgres/comanage-match-postgres-entrypoint.sh
+++ b/comanage-match-postgres/comanage-match-postgres-entrypoint.sh
@@ -34,4 +34,9 @@ if [[ -f "${COMANAGE_MATCH_POSTGRES_USER_PASSWORD_FILE}" ]]; then
     export COMANAGE_MATCH_POSTGRES_USER_PASSWORD
 fi
 
-exec "/docker-entrypoint.sh" "$@"
+if [[ -z "${POSTGRES_PASSWORD}" && -z "${POSTGRES_PASSWORD_FILE}" ]]; then
+    POSTGRES_PASSWORD=${COMANAGE_MATCH_POSTGRES_USER_PASSWORD:-password}
+    export POSTGRES_PASSWORD
+fi
+
+exec "docker-entrypoint.sh" "$@"
diff --git a/comanage-match-shibboleth-sp/Dockerfile b/comanage-match-shibboleth-sp/Dockerfile
index 7dbaf0c..c0f9fb2 100644
--- a/comanage-match-shibboleth-sp/Dockerfile
+++ b/comanage-match-shibboleth-sp/Dockerfile
@@ -18,7 +18,7 @@
 # limitations under the License.
 ARG COMANAGE_MATCH_VERSION=develop
 ARG COMANAGE_MATCH_BASE_IMAGE_VERSION=1
-ARG COMANAGE_SHIBBOLETH_SP_VERSION="3.0.4"
+ARG COMANAGE_SHIBBOLETH_SP_VERSION="3.2.3"
 ARG COMANAGE_SHIBBOLETH_SP_BASE_IMAGE_VERSION=1
 
 FROM comanage-shibboleth-sp-base:${COMANAGE_SHIBBOLETH_SP_VERSION}-${COMANAGE_SHIBBOLETH_SP_BASE_IMAGE_VERSION} AS shib-base