How to set up Nextcloud on RaspberryPI with several users, external HDD holding only files separated by users

I am setting up Nextcloud on a RaspberryPI for my family. It has an 8GB microSD card and a big external HDD attached.

What I want:

  1. Nextcloud has more than one user.
  2. There is a common directory inside the HDD that everyone can access inside Nextcloud (music, photos, movies, etc.).
  3. Every one has a files inside Files app stored in HDD so SD does not fill up.
  4. Nobody can access others’ files.
  5. Those files are synced on individuals’ laptop, but not the media directory.
  6. If the HDD is unavailable for some reason, Nextcloud and its apps are still accessible; not the files though.
  7. If a new user gets onboard, he creates the account using registering app and he automagically gets his own folder created in the HDD.

I just can’t get my head around this.

What I have done so far is create a media directory that I made accessible to anyone via External Storage app and Samba. This fulfills requirement 2. This part is easy.

For the rest I have tried:

  1. Put Nextcloud’s data folder on HDD during installation. This does not meet requirement 6.

Other ideas just do not meet all requirements:

  1. Create manually a directory inside the HDD on user registration and then manually mount that directory to data/username. I do not know if I would miss something else in this case. Anyway this does not meet requirement 7, maybe not even requirement 6 but I have not tried it yet.
  2. Create manually a directory inside the HDD on user registration and then manually make it accesible to the user through External Storage. I think this would violate requirements 7 and maybe 5.

I mean, is not that bad to have to do some things manually, is not like there will be 10 registrations per day; I am just curious about what would be the best solution for a big setup.

So, have you tried something similar? Do you have any better idea?

Thank you very much.