diff --git a/charts/jupyter-hub-customizations/Chart.yaml b/charts/jupyter-hub-customizations/Chart.yaml
index 59d8023fd7185531e1f4752f300cc77c5c6ee03c..3ce7d3b5df1c9f2648aa688d74a19a0fb587f15d 100644
--- a/charts/jupyter-hub-customizations/Chart.yaml
+++ b/charts/jupyter-hub-customizations/Chart.yaml
@@ -15,7 +15,7 @@ type: application
 # This is the chart version. This version number should be incremented each time you make changes
 # to the chart and its templates, including the app version.
 # Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 0.16.19
+version: 0.16.20
 # This is the version number of the application being deployed. This version number should be
 # incremented each time you make changes to the application. Versions are not expected to
 # follow Semantic Versioning. They should reflect the version the application is using.
diff --git a/charts/jupyter-hub-customizations/templates/configmap_custom.yaml b/charts/jupyter-hub-customizations/templates/configmap_custom.yaml
index 9535ff1b73575e16eceaa78feb3969286fa33d20..b29888c3d58a2793ed15298979a48f0dd615cf07 100644
--- a/charts/jupyter-hub-customizations/templates/configmap_custom.yaml
+++ b/charts/jupyter-hub-customizations/templates/configmap_custom.yaml
@@ -377,6 +377,10 @@ data:
           - LoginNodeBooster
           - LoginNodeVis
         weight: 1
+        {{- with .Values.customConfig.systemsMaxPerUser.JUWELS }}
+        maxPerUser:
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostUnicore
       {{- end }}
       {{- if has "JURECA" .Values.customConfig.systems }}
@@ -384,6 +388,10 @@ data:
         interactivePartitions:
           - LoginNode
         weight: 2
+        {{- with .Values.customConfig.systemsMaxPerUser.JURECA }}
+        maxPerUser:
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostUnicore
       {{- end }}
       {{- if has "JEDI" .Values.customConfig.systems }}
@@ -391,6 +399,10 @@ data:
         interactivePartitions:
           - LoginNode
         weight: 3
+        {{- with .Values.customConfig.systemsMaxPerUser.JEDI }}
+        maxPerUser:
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostUnicore
       {{- end }}
       {{- if has "JUSUF" .Values.customConfig.systems }}
@@ -398,6 +410,10 @@ data:
         interactivePartitions:
           - LoginNode
         weight: 4
+        {{- with .Values.customConfig.systemsMaxPerUser.JUSUF }}
+        maxPerUser:
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostUnicore
       {{- end }}
       {{- if has "DEEP" .Values.customConfig.systems }}
@@ -405,69 +421,91 @@ data:
         interactivePartitions:
           - LoginNode
         weight: 5
+        {{- with .Values.customConfig.systemsMaxPerUser.DEEP }}
+        maxPerUser:
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostUnicore
       {{- end }}
       {{- if has "JSC-Cloud" .Values.customConfig.systems }}
       JSC-Cloud:
         weight: 6
+        {{- with index .Values.customConfig.systemsMaxPerUser "JSC-Cloud" }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeJSCCloud
       {{- end }}
       {{- if has "HLRS" .Values.customConfig.systems }}
       HLRS:
         weight: 7
+        {{- with .Values.customConfig.systemsMaxPerUser.HLRS }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeHLRS
       {{- end }}
       {{- if has "HLRS-Staging" .Values.customConfig.systems }}
       HLRS-Staging:
         weight: 8
+        {{- with index .Values.customConfig.systemsMaxPerUser "HLRS-Staging" }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeHLRSStaging
       {{- end }}
       {{- if has "LRZ" .Values.customConfig.systems }}
       LRZ:
         weight: 9
+        {{- with .Values.customConfig.systemsMaxPerUser.LRZ }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeLRZ
       {{- end }}
       {{- if has "LRZ-Staging" .Values.customConfig.systems }}
       LRZ-Staging:
         weight: 10
+        {{- with index .Values.customConfig.systemsMaxPerUser "LRZ-Staging" }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeLRZStaging
       {{- end }}
       {{- if has "MPCDF" .Values.customConfig.systems }}
       MPCDF:
         weight: 11
+        {{- with .Values.customConfig.systemsMaxPerUser.MPCDF }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeMPCDF
       {{- end }}
       {{- if has "deNBI-Cloud" .Values.customConfig.systems }}
       deNBI-Cloud:
         weight: 14
+        {{- with index .Values.customConfig.systemsMaxPerUser "deNBI-Cloud" }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeDenbi
       {{- end }}
       {{- if has "TUD" .Values.customConfig.systems }}
       TUD:
         weight: 12
+        {{- with .Values.customConfig.systemsMaxPerUser.TUD }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeTUD
       {{- end }}
       {{- if has "TUD-Staging" .Values.customConfig.systems }}
       TUD-Staging:
         weight: 13
+        {{- with index .Values.customConfig.systemsMaxPerUser "TUD-Staging" }}
         maxPerUser:
-          default: 1
+         {{- toYaml . | nindent 10 }}
+        {{- end }}
         backendService: outpostKubeTUDStaging
       {{- end }}
       {{- if has "LocalDummy" .Values.customConfig.systems }}
@@ -1317,4 +1355,4 @@ data:
             - JUSUF
             - JSC-Cloud
           compute_only: false
-          weight: 17
\ No newline at end of file
+          weight: 17
diff --git a/charts/jupyter-hub-customizations/values.yaml b/charts/jupyter-hub-customizations/values.yaml
index b80aefeccc78ff71c14b2328bd8b4bba31798254..f6161bb2a2d8849e4928b24cad6c2a2889e4064f 100644
--- a/charts/jupyter-hub-customizations/values.yaml
+++ b/charts/jupyter-hub-customizations/values.yaml
@@ -127,6 +127,35 @@ logging:
 customConfig:
   userCount:
     activeMinutes: 1440
+  systemsMaxPerUser:
+    JUWELS:
+      default: 5
+    JURECA:
+      default: 5
+    JUJEDI:
+      default: 5
+    JUSUF:
+      default: 5
+    DEEP:
+      default: 5
+    JSC-Cloud:
+      default: 3
+    HLRS:
+      default: 2
+    HLRS-Staging:
+      default: 2
+    LRZ:
+      default: 5
+    LRZ-Staging:
+      default: 5
+    MPCDF:
+      default: 2
+    deNBI-Cloud:
+      default: 5
+    TUD:
+      default: 2
+    TUD-Staging:
+      default: 2
   systems:
     - JURECA
     - JUWELS