.. _architecture-storage: Storage ================ All three aspects mentioned above are using storage in the form of a shared filesystem. Usually, this is accomplished via an :term:`NFS` server, but there are other options as well. The Kubernetes abstraction for this is a :term:`PersistentVolume` (PV) with :term:`ReadWriteMany` access mode. Projects mount the ``/projects/[UUID]`` subdirectory as their :term:`Home Directory`. Other services ``manage-copy`` mount this directory to copy between projects, while sharing (publishing) files is mounted by ``hub-next`` and serves rendered files at the ``/share`` path. .. note:: An important detail is that the :term:`UID/GUI` is ``2001``, since the ``user`` in a project and these services run under that UID. This is for security reasons, i.e. to be distinct from ``root`` with UID 0. For example, the :ref:`AWS EKS ` setup does not work out of the box and must be configured to use ``2001`` as UID/GUI.