diff --git a/cesnet-central/deployments/fullhub.yaml b/cesnet-central/deployments/fullhub.yaml
index 1b8ac40603e549e2d8f13028d317bb57769c4400..9d6cf26c7cc24ddbcc7eef765a54c8f7ce1ec534 100644
--- a/cesnet-central/deployments/fullhub.yaml
+++ b/cesnet-central/deployments/fullhub.yaml
@@ -51,8 +51,8 @@ singleuser:
     guarantee: .02
   defaultUrl: "/lab"
   image:
-    name: eginotebooks/single-user
-    tag: "sha-0f4a63c"
+    name: eginotebooks/single-user-eosc
+    tag: "sha-d17f966"
   profileList:
     - display_name: Small Environment - 2 vCPU / 4 GB RAM (non-collaboratice)
       description: >
@@ -131,6 +131,14 @@ singleuser:
     singleuser-webdav-wrapper.sh:
       mode: 0755
       mountPath: /usr/local/bin/jupyterhub-singleuser-webdav-wrapper
+      #NotebookNotary.db_file=':memory:' is used due to issues
+      #notebook notary file was causing in ~/.jupyter in ownCloud mount
+      #
+      #LabApp.custom_css=True allows to use custom CSS for EOSC style
+      #
+      #ResourceUseDisplay.mem_warning_threshold=0.75 sets memory warning at 75%
+      #threshold for resource-usage extension which is also used by EGI
+      #notebooks-resource-warning extension 
       stringData: |-
         #! /bin/sh
         #
@@ -143,30 +151,12 @@ singleuser:
         /usr/local/bin/jupyterhub-wait-remote-home
 
         cd .
-
         exec jupyterhub-singleuser \
           --FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints' \
           --NotebookNotary.db_file=':memory:' \
+          --LabApp.custom_css=True \
+          --ResourceUseDisplay.mem_warning_threshold=0.25 \
           "$@"
-    disable-labnews:
-      mode: 0644
-      mountPath: /opt/conda/share/jupyter/lab/settings/overrides.json
-      stringData: |-
-        {
-          "@jupyterlab/apputils-extension:notification": {
-            "checkForUpdates": "false",
-            "fetchNews": "false"
-          },
-          "@jupyterlab/application-extension:context-menu": {
-            "contextMenu": [
-              {
-                "command": "filebrowser:share-main",
-                "selector": ".jp-DirListing-item[data-isdir]",
-                "disabled": true
-              }
-            ]
-          }
-        }
 
 hub:
   services:
@@ -179,7 +169,7 @@ hub:
   # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml
   image:
     name: eginotebooks/hub
-    tag: "sha-bebde36"
+    tag: "sha-857a93e"
   config:
     Authenticator:
       enable_auth_state: true
@@ -324,6 +314,8 @@ hub:
       c.WebDavOIDCSpawner.token_mount_path = "/var/run/secrets/oidc/"
       c.WebDavOIDCSpawner.http_timeout = 90
 {% endraw %}
+  templatePaths:
+    - /egi-notebooks-hub/ec-templates
   extraFiles:
     welcome.html:
       mountPath: /usr/local/share/jupyterhub/templates/welcome.html
diff --git a/common/deployments/hub-production.yaml b/common/deployments/hub-production.yaml
index 43ff32c5738f9dd8a4580a54606de0e599680282..eb82d6c19b0c65e1fc13d6b8b9da84544583bb5d 100644
--- a/common/deployments/hub-production.yaml
+++ b/common/deployments/hub-production.yaml
@@ -51,8 +51,8 @@ singleuser:
     guarantee: .2
   defaultUrl: "/lab"
   image:
-    name: eginotebooks/single-user
-    tag: "sha-0f4a63c"
+    name: eginotebooks/single-user-eosc
+    tag: "sha-d17f966"
   profileList:
     - display_name: Small Environment - 2 vCPU / 4 GB RAM
       description: >
@@ -113,6 +113,14 @@ singleuser:
     singleuser-webdav-wrapper.sh:
       mode: 0755
       mountPath: /usr/local/bin/jupyterhub-singleuser-webdav-wrapper
+      #NotebookNotary.db_file=':memory:' is used due to issues
+      #notebook notary file was causing in ~/.jupyter in ownCloud mount
+      #
+      #LabApp.custom_css=True allows to use custom CSS for EOSC style
+      #
+      #ResourceUseDisplay.mem_warning_threshold=0.75 sets memory warning at 75%
+      #threshold for resource-usage extension which is also used by EGI
+      #notebooks-resource-warning extension 
       stringData: |-
         #! /bin/sh
         #
@@ -125,30 +133,12 @@ singleuser:
         /usr/local/bin/jupyterhub-wait-remote-home
 
         cd .
-
         exec jupyterhub-singleuser \
           --FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints' \
           --NotebookNotary.db_file=':memory:' \
+          --LabApp.custom_css=True \
+          --ResourceUseDisplay.mem_warning_threshold=0.25 \
           "$@"
-    disable-labnews:
-      mode: 0644
-      mountPath: /opt/conda/share/jupyter/lab/settings/overrides.json
-      stringData: |-
-        {
-          "@jupyterlab/apputils-extension:notification": {
-            "checkForUpdates": "false",
-            "fetchNews": "false"
-          },
-          "@jupyterlab/application-extension:context-menu": {
-            "contextMenu": [
-              {
-                "command": "filebrowser:share-main",
-                "selector": ".jp-DirListing-item[data-isdir]",
-                "disabled": true
-              }
-            ]
-          }
-        }
 
 hub:
   services:
@@ -161,7 +151,7 @@ hub:
   # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml
   image:
     name: eginotebooks/hub
-    tag: "sha-bebde36"
+    tag: "sha-857a93e"
   config:
     Authenticator:
       enable_auth_state: true
@@ -307,6 +297,8 @@ hub:
       c.WebDavOIDCSpawner.token_mount_path = "/var/run/secrets/oidc/"
       c.WebDavOIDCSpawner.http_timeout = 90
 {% endraw %}
+  templatePaths:
+    - /egi-notebooks-hub/ec-templates
   extraFiles:
     welcome.html:
       mountPath: /usr/local/share/jupyterhub/templates/welcome.html
diff --git a/common/deployments/hub-staging.yaml b/common/deployments/hub-staging.yaml
index 7982d172fb7986f48b92867bd6464caec19e0d81..7bdada1e938b5b4fc481c015538f70ecf6c149c7 100644
--- a/common/deployments/hub-staging.yaml
+++ b/common/deployments/hub-staging.yaml
@@ -51,8 +51,8 @@ singleuser:
     guarantee: .2
   defaultUrl: "/lab"
   image:
-    name: eginotebooks/single-user
-    tag: "sha-0f4a63c"
+    name: eginotebooks/single-user-eosc
+    tag: "sha-d17f966"
   profileList:
     - display_name: Small Environment - 2 vCPU / 4 GB RAM
       description: >
@@ -113,6 +113,14 @@ singleuser:
     singleuser-webdav-wrapper.sh:
       mode: 0755
       mountPath: /usr/local/bin/jupyterhub-singleuser-webdav-wrapper
+      #NotebookNotary.db_file=':memory:' is used due to issues
+      #notebook notary file was causing in ~/.jupyter in ownCloud mount
+      #
+      #LabApp.custom_css=True allows to use custom CSS for EOSC style
+      #
+      #ResourceUseDisplay.mem_warning_threshold=0.75 sets memory warning at 75%
+      #threshold for resource-usage extension which is also used by EGI
+      #notebooks-resource-warning extension 
       stringData: |-
         #! /bin/sh
         #
@@ -125,30 +133,12 @@ singleuser:
         /usr/local/bin/jupyterhub-wait-remote-home
 
         cd .
-
         exec jupyterhub-singleuser \
           --FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints' \
           --NotebookNotary.db_file=':memory:' \
+          --LabApp.custom_css=True \
+          --ResourceUseDisplay.mem_warning_threshold=0.25 \
           "$@"
-    disable-labnews:
-      mode: 0644
-      mountPath: /opt/conda/share/jupyter/lab/settings/overrides.json
-      stringData: |-
-        {
-          "@jupyterlab/apputils-extension:notification": {
-            "checkForUpdates": "false",
-            "fetchNews": "false"
-          },
-          "@jupyterlab/application-extension:context-menu": {
-            "contextMenu": [
-              {
-                "command": "filebrowser:share-main",
-                "selector": ".jp-DirListing-item[data-isdir]",
-                "disabled": true
-              }
-            ]
-          }
-        }
 
 hub:
   services:
@@ -161,7 +151,7 @@ hub:
   # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml
   image:
     name: eginotebooks/hub
-    tag: "sha-bebde36"
+    tag: "sha-857a93e"
   config:
     Authenticator:
       enable_auth_state: true
@@ -305,6 +295,8 @@ hub:
       c.WebDavOIDCSpawner.token_mount_path = "/var/run/secrets/oidc/"
       c.WebDavOIDCSpawner.http_timeout = 90
 {% endraw %}
+  templatePaths:
+    - /egi-notebooks-hub/ec-templates
   extraFiles:
     welcome.html:
       mountPath: /usr/local/share/jupyterhub/templates/welcome.html
diff --git a/common/playbooks/files/jupyterhub-jwt.yaml b/common/playbooks/files/jupyterhub-jwt.yaml
index 5e9d7d2317358a737c9817f35566e012341b7f74..6a34c0507be02a79bbac48d9b72c86387e451ff7 100644
--- a/common/playbooks/files/jupyterhub-jwt.yaml
+++ b/common/playbooks/files/jupyterhub-jwt.yaml
@@ -20,7 +20,7 @@ spec:
       containers:
         - name: jwt
           # recommended to keep it in sync with */deployments/*.yaml
-          image: eginotebooks/hub:sha-bebde36
+          image: eginotebooks/hub:sha-857a93e
           args:
             - fastapi
             - run
diff --git a/testing/deployments/hub.yaml b/testing/deployments/hub.yaml
index a6f6a00907a32d415a9e8fbea162dd6be72178ac..04de6621b4f07f83f86a350aff153a23bd8518b2 100644
--- a/testing/deployments/hub.yaml
+++ b/testing/deployments/hub.yaml
@@ -52,8 +52,8 @@ singleuser:
     guarantee: .2
   defaultUrl: "/lab"
   image:
-    name: eginotebooks/single-user
-    tag: "sha-0f4a63c"
+    name: eginotebooks/single-user-eosc
+    tag: "sha-d17f966"
   profileList:
     - display_name: Small Environment - 2 vCPU / 4 GB RAM
       description: >
@@ -114,6 +114,15 @@ singleuser:
     singleuser-webdav-wrapper.sh:
       mode: 0755
       mountPath: /usr/local/bin/jupyterhub-singleuser-webdav-wrapper
+
+      #NotebookNotary.db_file=':memory:' is used due to issues
+      #notebook notary file was causing in ~/.jupyter in ownCloud mount
+      #
+      #LabApp.custom_css=True allows to use custom CSS for EOSC style
+      #
+      #ResourceUseDisplay.mem_warning_threshold=0.75 sets memory warning at 75%
+      #threshold for resource-usage extension which is also used by EGI
+      #notebooks-resource-warning extension 
       stringData: |-
         #! /bin/sh
         #
@@ -126,30 +135,12 @@ singleuser:
         /usr/local/bin/jupyterhub-wait-remote-home
 
         cd .
-
         exec jupyterhub-singleuser \
           --FileCheckpoints.checkpoint_dir='/home/jovyan/.notebookCheckpoints' \
           --NotebookNotary.db_file=':memory:' \
+          --LabApp.custom_css=True \
+          --ResourceUseDisplay.mem_warning_threshold=0.25 \
           "$@"
-    disable-labnews:
-      mode: 0644
-      mountPath: /opt/conda/share/jupyter/lab/settings/overrides.json
-      stringData: |-
-        {
-          "@jupyterlab/apputils-extension:notification": {
-            "checkForUpdates": "false",
-            "fetchNews": "false"
-          },
-          "@jupyterlab/application-extension:context-menu": {
-            "contextMenu": [
-              {
-                "command": "filebrowser:share-main",
-                "selector": ".jp-DirListing-item[data-isdir]",
-                "disabled": true
-              }
-            ]
-          }
-        }
 
 hub:
   services:
@@ -162,7 +153,7 @@ hub:
   # recommended to keep in sync with common/playbooks/files/jupyterhub-jwt.yaml
   image:
     name: eginotebooks/hub
-    tag: "sha-bebde36"
+    tag: "sha-857a93e"
   config:
     Authenticator:
       enable_auth_state: true
@@ -306,6 +297,8 @@ hub:
       c.WebDavOIDCSpawner.token_mount_path = "/var/run/secrets/oidc/"
       c.WebDavOIDCSpawner.http_timeout = 90
 {% endraw %}
+  templatePaths:
+    - /egi-notebooks-hub/ec-templates
   extraFiles:
     welcome.html:
       mountPath: /usr/local/share/jupyterhub/templates/welcome.html