diff --git a/.dockerignore b/.dockerignore
index d37851392752ad11176bbcddd135574bc7468321..6e142bdee40fa3f35b93b2eb352164082202fd11 100644
--- a/.dockerignore
+++ b/.dockerignore
@@ -1,3 +1,4 @@
 data/
 client/
+projects/
 .venv/
\ No newline at end of file
diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index e8b9cbe1da5c9088381d70593b14d1408e5304b2..edad1bb09cf4e53808dd2817c3f970b41f36ab25 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -41,8 +41,8 @@ test-backend-image:
     - touch data/initTable.hdf5
     - >
       docker run
-      -v $(pwd)/data:/code/data
-      -v $(pwd)/data:/code/data_persistent
+      -v $(pwd)/data:/data
+      -v $(pwd)/projects:/projects
       -v $(pwd)/.eggs:/code/.eggs
       -v $(pwd)/jass.egg-info:/code/jass.egg-info
       "$CI_REGISTRY_IMAGE/$CI_COMMIT_REF_SLUG/backend:$CI_COMMIT_SHA"
diff --git a/Dockerfile b/Dockerfile
index ed07cacffa4b8d7ecb3b30c1e4a9e3d640e03e2c..a11a1960034d5cce54d8a5917f8cb297289acad0 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,6 +1,7 @@
 FROM python:3.9 as backend
 
-ENV JASS_DATA_DIR '/code/data'
+ENV JASS_DATA_DIR '/data'
+ENV JASS_PROJECTS_DIR '/projects'
 
 EXPOSE 8080
 
@@ -17,7 +18,9 @@ RUN addgroup --gid 1000 kiwi \
  && pip install --upgrade pip setuptools \
  && mkdir /code \
  && mkdir ${JASS_DATA_DIR} \
- && chown kiwi:kiwi ${JASS_DATA_DIR}
+ && chown kiwi:kiwi ${JASS_DATA_DIR} \
+ && mkdir ${JASS_PROJECTS_DIR} \
+ && chown kiwi:kiwi ${JASS_PROJECTS_DIR}
 WORKDIR /code
 
 COPY requirements*.txt /code/
diff --git a/chart/pvc-shared-data.yaml b/chart/pvc-shared-data.yaml
index 81d8516578f71cba6cace5355edc0214370e7849..24b77916f081974bf6df02bc24abe4ac140cdc0a 100644
--- a/chart/pvc-shared-data.yaml
+++ b/chart/pvc-shared-data.yaml
@@ -7,6 +7,6 @@ spec:
     - ReadWriteMany
   resources:
     requests:
-      storage: 25Gi
+      storage: 15Gi
   storageClassName: isilon
 status: {}
\ No newline at end of file
diff --git a/chart/templates/deployment-back.yaml b/chart/templates/deployment-back.yaml
index e97f920def909d3e80a223d907757f3cf5ad3d89..32bc8814149b1b10492d59105f18bdd174fbe6de 100644
--- a/chart/templates/deployment-back.yaml
+++ b/chart/templates/deployment-back.yaml
@@ -36,14 +36,14 @@ spec:
         resources:
           {{- toYaml .Values.back.resources | nindent 12 }}
         volumeMounts:
-          - mountPath: /code/data
-            name: data-files
-          - mountPath: /code/shared_data
+          - mountPath: /projects
+            name: projects-files
+          - mountPath: /data
             name: shared-data-files
       volumes:
-        - name: data-files
+        - name: projects-files
           persistentVolumeClaim:
-            claimName: {{ printf "%s-data-files" .Release.Name }}
+            claimName: {{ printf "%s-projects-files" .Release.Name }}
         - name: shared-data-files
           persistentVolumeClaim:
             claimName: "jass-shared-data-files"
\ No newline at end of file
diff --git a/chart/templates/deployment-celery-worker.yaml b/chart/templates/deployment-celery-worker.yaml
index cebf2772ade90f4ccba3ca772e2e47e74b801b85..dfab1f0b64d21c091a3dba2ccb709530686ee54c 100644
--- a/chart/templates/deployment-celery-worker.yaml
+++ b/chart/templates/deployment-celery-worker.yaml
@@ -47,9 +47,14 @@ spec:
         resources:
           {{- toYaml .Values.celery.resources | nindent 12 }}
         volumeMounts:
-          - mountPath: /code/data
-            name: data-files
+          - mountPath: /projects
+            name: projects-files
+          - mountPath: /data
+            name: shared-data-files
       volumes:
-        - name: data-files
+        - name: projects-files
           persistentVolumeClaim:
-            claimName: {{ printf "%s-data-files" .Release.Name }}
\ No newline at end of file
+            claimName: {{ printf "%s-projects-files" .Release.Name }}
+        - name: shared-data-files
+          persistentVolumeClaim:
+            claimName: "jass-shared-data-files"
\ No newline at end of file
diff --git a/chart/templates/pvc-data.yaml b/chart/templates/pvc.yaml
similarity index 54%
rename from chart/templates/pvc-data.yaml
rename to chart/templates/pvc.yaml
index a7067e77d3e4adaff7319fa0421aec27e4c3a0b9..56d822b0d218586dd18c4e04bade6b08a397b07b 100644
--- a/chart/templates/pvc-data.yaml
+++ b/chart/templates/pvc.yaml
@@ -1,7 +1,7 @@
 apiVersion: v1
 kind: PersistentVolumeClaim
 metadata:
-  name: {{ printf "%s-data-files" .Release.Name }}
+  name: {{ printf "%s-projects-files" .Release.Name }}
   labels:
     {{- include "chart.labels" . | nindent 4 }}
 spec:
@@ -9,6 +9,6 @@ spec:
     - ReadWriteMany
   resources:
     requests:
-      storage: {{ .Values.data.size }}
-  storageClassName: {{ .Values.data.storageClassName }}
+      storage: {{ .Values.projects.size }}
+  storageClassName: {{ .Values.projects.storageClassName }}
 status: {}
\ No newline at end of file
diff --git a/chart/values.yaml b/chart/values.yaml
index 0e2c186de8598a621fb58e646d18f8266b30584a..59d5d0b4f813a96eb48f3d06e01d61ea54ebacc3 100644
--- a/chart/values.yaml
+++ b/chart/values.yaml
@@ -69,8 +69,8 @@ back:
       memory: 4Gi
       cpu: 2000m
 
-data:
-  size: 50Gi
+projects:
+  size: 20Gi
   storageClassName: isilon
 
 client:
diff --git a/docker-compose.yaml b/docker-compose.yaml
index 427f59e9a69baffe4cfdff7b291454e4fb862012..fa43015e6547dfd8e0ab094b03640a7aa4888842 100644
--- a/docker-compose.yaml
+++ b/docker-compose.yaml
@@ -19,7 +19,8 @@ services:
       JASS_RABBITMQ_URL: 'amqp://guest:guest@rabbitmq:5672'
       WAIT_FOR_DATA_DIR_READY: 1
     volumes:
-      - ./data:/code/data
+      - ./projects:/projects
+      - ./data:/data
       - ./jass:/code/jass
     depends_on:
       - rabbitmq
@@ -31,7 +32,8 @@ services:
     environment:
       JASS_RABBITMQ_URL: 'amqp://guest:guest@rabbitmq:5672'
     volumes:
-      - ./data:/code/data
+      - ./projects:/projects
+      - ./data:/data
       - ./jass:/code/jass
     ports:
       - '8080:8080'
@@ -72,8 +74,3 @@ services:
 #    #   - /client/node_modules
 #    ports:
 #      - '3001:8080'
-    
-
-
-volumes:
-  jass-persistent-data:
\ No newline at end of file
diff --git a/jass/config.py b/jass/config.py
index c8bd6ae4df95c8b19f9bdc2ba46e642caa379f59..b2d4ccad05c6adad5e319bb16806cd7f2e5f98c5 100644
--- a/jass/config.py
+++ b/jass/config.py
@@ -22,6 +22,9 @@ config = {
     "DATA_DIR": os.path.normpath(
         os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "data")
     ),
+    "PROJECTS_DIR": os.path.normpath(
+        os.path.join(os.path.dirname(os.path.abspath(__file__)), "..", "projects")
+    ),
     "INITTABLE_CHUNKSIZE": 100000,
 }
 if "JASS_HOST" in os.environ:
@@ -30,3 +33,5 @@ if "JASS_PORT" in os.environ:
     config["PORT"] = os.environ["JASS_PORT"]
 if "JASS_DATA_DIR" in os.environ:
     config["DATA_DIR"] = os.environ["JASS_DATA_DIR"]
+if "JASS_PROJECTS_DIR" in os.environ:
+    config["PROJECTS_DIR"] = os.environ["JASS_PROJECTS_DIR"]
diff --git a/jass/models/project.py b/jass/models/project.py
index 8b2b71241ae7702d6cb8d00d8ed1efa07b24753b..4280cb7dde9241d5004858d4b046d6ac8d5bce24 100644
--- a/jass/models/project.py
+++ b/jass/models/project.py
@@ -110,10 +110,14 @@ class Project(BaseModel, abc.ABC):
     def create_id(self):
         return self.get_hash().hexdigest()
 
+    @classmethod
+    def get_folder_path_from_id(cls, project_id):
+        return os.path.join(config["PROJECTS_DIR"], f"project_{project_id}")
 
     @classmethod
     def load(cls, id):
-        path = os.path.join(config["DATA_DIR"], f"project_{id}", "meta.json")
+        # path = os.path.join(config["DATA_DIR"], f"project_{id}", "meta.json")
+        path = os.path.join(Project.get_folder_path_from_id(id), "meta.json")
         with open(path, "r") as fp:
             return cls.parse_raw("".join(fp.readlines()))
 
@@ -126,7 +130,8 @@ class Project(BaseModel, abc.ABC):
         """
         Get the path of the folder where the project data are stored
         """
-        return os.path.join(config["DATA_DIR"], f"project_{self.id}")
+        # return os.path.join(config["DATA_DIR"], f"project_{self.id}")
+        return self.get_folder_path_from_id(self.id)
 
     def get_meta_file_path(self):
         """
@@ -284,7 +289,8 @@ class LocalProject(Project):
 
 
 def load_project(project_id):
-    path = os.path.join(config["DATA_DIR"], f"project_{project_id}", "meta.json")
+    path = os.path.join(Project.get_folder_path_from_id(project_id), "meta.json")
+    # path = os.path.join(config["DATA_DIR"], f"project_{project_id}", "meta.json")
     with open(path, "r") as fp:
         project = parse_raw_as(
             Union[
diff --git a/projects/README.md b/projects/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..10c46d81197c73e62797740bcc9b4cd071b4da54
--- /dev/null
+++ b/projects/README.md
@@ -0,0 +1 @@
+Projects are created in this directory.
\ No newline at end of file