Hi,
We are using Joplin server with about 12 people working every day with it. I'm talking thousands of notes overall and a ~15 GB database.
The setup is quite simple: every user has an account. Share one notebook as "Group notes" with all users, and keep everything that should be shared inside this notebook. If a notebook is shared, all sub-notebooks inside (including those created after sharing) are shared to (it's actually impossible to have them not shared), so it is easy to keep everything shared neatly organized within that shared master notebook and you only have to share the top-level notebook with every user.
Next to this shared notes Notebook (and outside of it), every user is free to create other notebooks - for example I have another "Personal" master notebook, unshared, where everything that is not in the "Group notes" is stored.