I am in the process of migrating my team to a Joplin Server (multiple users) from a Nextcloud install (single user). The server is installed and working, I have transferred the whole data from the Nextcloud server to the Joplin server via my client after creating a user on the server for me. I have created users for each team member, and shared all the data (all notebooks via the creation of a parent notebook that contains them all) from my user account on the Joplin server to the other users. Now the question is how will the team members (other users) make the switch from the Nextcloud data to the Joplin server data:
They have right now a local client with the Nextcloud data (identical to the Joplin server data modulo a couple of changed notes and the fact that all notebooks are included in a single shared notebook)
If they just change the sync target, keeping their Nextcloud data on their local machine, will this just update their data with the changes between the Nextcloud data and the shared notebooks from the Joplin server (that is, a couple of changes to notes and the grouping of all notebooks under a common one)?
Or will it upload all their data from their client to their user space on the Joplin server, then download the shared notebooks, duplicating all the data? In this case, I should ask use the advanced sync option to delete all their data and just download everything from the server (that is, the shared notebooks)?
I have a subsidiary question: if several users share the same Joplin Server, is the shared data between users duplicated on each user space? It certainly looks so from my initial testing (sharing 5B team data from user account 1 with user account 2 which already contained 9 GB personal data resulted in the user account 2 space now taking 14 GB according to the Joplin server "users" page). I ask because having around 12 people in the team who will share all team data, that means 12x the data storage...
OK this was a disaster. I tested on an account and what happens when there is local data from the previous system (Nextcloud) and new data from shared notebooks (Joplin Server) is that it does not even duplicate cleanly, it tries to merge everything, creating hundreds of note conflicts and destroying the Joplin server database. Of course one of my team members did not follow my precise instruction to wipe the local data and re-download from Joplin server before syncing and destroyed the whole database for everyone.
Now my question is: how can wipe user accounts cleanly from the server to restart everything from scratch? I don't want to wait 24 hours for deletion, my team needs the database back up and running.
This is something I have tried in the past and just tried again on a VM. Worked for me but I am not a Joplin dev so this suggestion is not "official".
If you want to really start from scratch you can shut down the entire stack (docker-compose down), delete the database data stored on your host system that is external to docker (everything in the folder you set on the left side of your volumes setting in docker-compose.yml for :/var/lib/postgresql/data), and restart the stack (docker-compose up -d).
This will wipe everything you have done so far and you will have to log in again as the default admin and set up all users all over again.
Thanks for the advice! I managed to wipe the server clean, and start again from scratch. I made sure to be next to each team member or do it myself while switching the sync target (it's was complicated but not as complicated as having to do it a third time over). I wonder if there would be a way to avoid this from happening, but one cannot guard against people not clicking the right button I guess