Sharing an org-roam database with a partner

My partner and I both use org-roam, and it has become an integral part of our day-to-day life. Thank you so much for making this possible! We are very content with the package, but now we would like to take it a step further and organize things that concern both of us (mutual deadlines, grocery lists etc.) using org-roam.

As to the set-up, we share a folder on a cloud which we synchronize using owncloud. Now we are asking ourselves whether (or better: how) it is possible to both access and write the notes we write using org-roam. This would come in especially handy since, using orgzly, we would even be able to update grocery lists on our smartphones. So far, for both (Linux) machines, we have defined a capture template which stores the node in the shared folder, so we are able to write notes. The problem now is actually opening nodes in that folder using org-roam-node-find. After all, they are not part of the org-roam-database, so they are not shown.

We have thought about ways to solve this problem, but our understanding of the internals of org-roam is not deep enough for us to do it ourselves. This is why we are asking ourselves:

  1. Is it possible that a machine A can import an org-roam node which was created with machine B into its database, or do the IDs pose a problem? If it is possible, do you have an idea how do you do it for a shared folder? If not, do you have any other ideas how to solve this?
  2. If this is not possible, is there a way to maintain two databases on each machine, one personal one and one shared one? If so, how is that possible?

It would be great if we found a solution for this problem; it would make our day-to-day life much, much simpler!

I would not claim to be an expert on database or this situation, but I might be able to frame the problem(s) together with you.

So you have three machines: (1) Your Linux, (2) your partner’s Linux, (3) server on cloud that has the shard folder.

(3) is “synchronized” to both (1) and (2). Does this mean both (1) and (2) have copies of (3)? Or you say you have capture templates to write notes into the shared folder. Is it to write files directly into the shared folder on the server (3)?

Assuming (1) and (2) have copies, do you encounter any issue when you both symlink to the shared folder copied into your individual machines from your org-roam-directory? This should let you both have your own copies of (3) into your org-roam-db file. Perhaps this might be a possible answer you are looking for.

I use symlink this way from org-roam-directory to one outside it in the same machine. I have no problem. The special case for you might be when you both update the same file at almost the same time – that should result in a sync error on Owncloud (or it would just override the earlier one by the later one, purely by chronological order of the timing of the last edit time stamp – not sure). But this should not be an issue of Org-roam by itself.

I am guessing your Question 1 is following a similar logic, but I cannot be sure. If so, because you both have copies of (3), you shouldn’t have issues with ID – (1) and (2) will individually keep track of Org-id by org-id-locations-file.

Just to give you a visualization of the symlink(s) I use:

/home/nobiot/Documents/evergreen is my org-roam-directory. denote is symlinked to a directory outside it but I can see all the notes in it as nodes in Org-roam.