diff --git a/docker/containers/web-server/Dockerfile b/docker/containers/web-server/Dockerfile
index 9741db3ef038d3e8fe395406f3565100abb74d6b..fd26aeda16c4457c779f8ed0bcc8c64d5459e944 100644
--- a/docker/containers/web-server/Dockerfile
+++ b/docker/containers/web-server/Dockerfile
@@ -11,4 +11,4 @@ RUN a2enmod rewrite
 
 # install php packages
 COPY --from=mlocati/php-extension-installer /usr/bin/install-php-extensions /usr/local/bin/
-RUN install-php-extensions curl mbstring ldap intl xml
+RUN install-php-extensions curl mbstring ldap intl xml sockets
diff --git a/docker/init.sh.cfg b/docker/init.sh.cfg
index 2be3a4dbe45a5097d2cb5ded81fb4d2f444c2fa3..cada1d8ac3c44fd158b864d65dcffdb4206499bf 100644
--- a/docker/init.sh.cfg
+++ b/docker/init.sh.cfg
@@ -4,7 +4,8 @@
 # This script is sourced by init.sh ... this file is bash syntax
 # 
 # ----------------------------------------------------------------------
-# 2021-11-xx  <axel.hahn@iml.unibe.ch>
+# 2022-07-15  <axel.hahn@iml.unibe.ch>
+# 2022-08-10  <axel.hahn@iml.unibe.ch>  add php-sockets for appmonitor
 # ======================================================================
 
 APP_NAME=imlcinode
@@ -26,7 +27,8 @@ APP_APACHE_MODULES="rewrite"
 
 APP_PHP_VERSION=8.1
 # sqlite3 is active already
-APP_PHP_MODULES="curl mbstring ldap intl xml"
+# sockets is for appmonitor tcp check only
+APP_PHP_MODULES="curl mbstring ldap intl xml sockets"
 
 # ONSTARTUP="docker exec -it appmonitor-server nohup /usr/local/bin/php /var/www/appmonitor/public_html/server/service.php > /tmp/appmonitor-service.log &"
 # APP_ONSTARTUP="php ${WEBROOT}/server/service.php"
@@ -38,7 +40,6 @@ APP_PHP_MODULES="curl mbstring ldap intl xml"
 # add a container with database?
 DB_ADD=false
 
-# ----------------------------------------------------------------------
 # for an optional database server
 
 DB_PORT=13306
@@ -66,9 +67,6 @@ WRITABLEDIR="../public_html ../config ../data"
 # web service user in container
 DOCKER_USER_UID=33
 
-# document root inside web-server container 
-WEBROOT=/var/www/${APP_NAME}/public_html
-
 CUTTER_NO_DATABASE="CUT-HERE-FOR-NO-DATABASE"
 
 frontendurl=http://localhost:${APP_PORT}/
diff --git a/public_html/deployment/classes/project.class.php b/public_html/deployment/classes/project.class.php
index 596e776addc128ea2f0669dc30531b623759ce55..9a81726d46df6c2f70a75d36c85b10134ebcd229 100644
--- a/public_html/deployment/classes/project.class.php
+++ b/public_html/deployment/classes/project.class.php
@@ -917,16 +917,16 @@ class project extends base {
                     && array_key_exists($sPlace, $aDataPhase) 
                     // && array_key_exists('version', $aDataPhase[$sPlace])
                 ) {
-                    if($bFirstVersion && !$bHasDifferentVersions && $bFirstVersion!==$aDataPhase[$sPlace]['version']){
+                    if($bFirstVersion && isset($aDataPhase[$sPlace]['version']) && !$bHasDifferentVersions && $bFirstVersion!==$aDataPhase[$sPlace]['version']){
                         $bHasDifferentVersions=true;
                     }
                     if (!$bFirstVersion){
-                        $bFirstVersion = $aDataPhase[$sPlace]['version'];
+                        $bFirstVersion = isset($aDataPhase[$sPlace]['version']) ? $aDataPhase[$sPlace]['version'] : $bFirstVersion;
                     }
                 }
             }
             // check queue
-            if (!$bHasQueue && array_key_exists('onhold', $aDataPhase) && $aDataPhase['onhold']['version']){
+            if (!$bHasQueue && isset($aDataPhase['onhold']['version']) && $aDataPhase['onhold']['version']){
                 $bHasQueue=true;
             }
         }