Hi, I’m considering setting up Joplin Server on a spare machine for collaboration.
Use case:
-
2 users (my friend and I)
-
Share specific notebooks (folders)
-
Include notes and file attachments
-
Both users need to view and update content
Questions:
-
How reliable is notebook sharing between users in Joplin Server?
-
Are there known issues with file attachments or sync conflicts?
-
Is this practical for light collaboration, or would Joplin Cloud be better?
Thanks in advance.
Joplin Server is exactly the same as Joplin Cloud, except you get all features without paying anything, but have to host it yourself. So yes it's practical for light collaboration, providing you are comfortable with maintaining a self hosted server
For clarification, I'd add that Joplin Server is only allowed for personal use. The case here seems to fit perfectly fine, but if someone wants to host their own instance for work-related activities, then that would go against the license.
File attachments work fine and sync between users fine, but you should be aware of how sync conflicts are handled:
If two users edit a note at the same time then the first to sync their changes will be the winner and the second to sync will be the loser (their version of the note with their edits will get moved to a separate conflict folder and the main note will be overwritten with the server data).
The user who "created the conflict" will have their local unsynced changes stored in the local conflicts folder (so the other user will not see this conflicting note). They can then do a manual merge between the conflict version of the note and the one downloaded from the server. There are several pretty good plugins to help with this process. To be clear - data is never lost in any "automatic merge" or "note overwrite" but it is up to the user to merge their changes in.
What I wanted to make you aware of is that there is no automatic merge of any sort. If your workflow includes multiple people working on the same individual notes at the same time then you will have a very unpleasant experience.
Yeah regarding the collaboration sync. Is there something brewing that would enable realtime collaboration? I will check the codebase, but maybe @laurent could drop a hint so we could offer him collaboration.
@albert1 To be honest I think you need a hosted front end to support any kind of realtime collaboration, otherwise you would be constantly getting sync conflicts
@mrjo118 I am going to push back a little bit here.
OneNote (Desktop version) actually does an astoundingly good job of allowing multiple users to edit the same note and merging the changes automatically. I have no idea how they are doing it but from my past experience (years of using it in a business setting communicating to-do lists and active notes with developers) you can have multiple people editing the same note and as long as they don't edit the same line at the same time it mostly handles it properly (you see their edits show up seconds after they make them in your note you are currently editing - it is very nice).
When there is a hard conflict OneNote creates a conflict page much like Joplin where you have to resolve it manually.
I see your point. I am using my Google Docs plugin for collaboration, not real time, that is true. For true 2 or more pple editing at the same time I switch to Google Docs and the result syncs back to Joplin.
I have been giving it some thought though and the current conflicting notes processing leave a lot to be desired. For local first workflow, git naturally comes to mind. There are note compare plugins, I recall Diff View that are showing possible directions.
I think it would be worth incorporating it into the main app.
@DoneWorkin Fair enough, but I think the conflict resolution and the way the sync works would need an overhaul for that to work properly in Joplin. Presumably OneNote uses something like a web hook for incoming changes to be updated instantly, otherwise you would be constantly querying the server every second to receive incoming changes, which would use a lot of data
@albert1 Indeed the existing conflict mechanism leaves a lot to be desired. There is a GSoC 2026 project to improve this, which we'll find out in the next week whether the project will go ahead.
It was my idea to include as a GSoC project idea. Initially I was hoping for some automatic resolution where possible, but unfortunately I think that's too risky when dealing with binary data embedded in notes, which would be the case for encrypted notes (which is another GSoC project idea). Git auto merging can make mistakes occasionally, but it's really easy to go back to a previous version because of the full version history. In Joplin, I don't think version history would offer a suitable recovery method for this scenario unfortunately, because of the way the history is implemented. But if the project does go ahead, it will include assisted conflict resolution, which would be a much better experience than what we have now, and it would work for both desktop and mobile.