Workaround for Joplin-server encrypted notes sync error

Joplin-server is a nice solution to sync multiple Joplin instances. In fact, you can even use it to sync only a subset of your notebooks to certain devices by providing different user accounts for those devices and using the notebook-sharing functionality in Joplin-server.

I did find in Joplin-server that syncing shared encrypted notebooks didn’t always succeed in sharing the master keys. One workaround if you own all the accounts, of course is to use a single master key with a very strong password.

To achieve this:

  1. Close your secondary Joplin client with the option Joplin->Settings->Sync (advanced)->’delete local data and re-download from sync target’;
  2. Connect to the postgresql database with the credentials that you used to set it up (e.g. check your .env if you used docker-compose). Go to the table ‘items’;
  3. Inspect the stored master keys, e.g. [...] content LIKE '%activeMasterKeyId%'(should only hit for ‘info.json’);
  4. Copy the value of the content and content_size fields of your primary account to those of your secondary account (you can determine primary and secondary by comparing the keys with those found in Joplin->Settings->Encryption);
  5. On the secondary Joplin system, edit the database in ~/.config/joplin-desktop/database.sqlite and also insert the primary master key data into table ‘settings’ -> field ‘syncInfoCache’;
  6. Restart your secondary Joplin, and it will download your notes and use the right master key. No more yellow warning banners in the apps.

no responses for Workaround for Joplin-server encrypted notes sync error

    Leave a Reply

    Your email address will not be published.

    This site uses Akismet to reduce spam. Learn how your comment data is processed.