Migrating from Dropbox Sync to Joplin Server /w E2EE

Operating system

Linux

Joplin version

3.7.21

Sync target

Dropbox

What issue do you have?

I am moving to Joplin and I don't have Joplin Server set up yet. No idea when that will eventuate. For now, I think I want to simply sync to Dropbox and later migrate to Joplin Server. Question is, if I have E2EE enabled, how do I go about migrating?

I think you first need to disable E2EE since you need to generate a new key pair. But then if you disable the E2EE then you are re-sending all your notes unencrypted to Dropbox before you change sync target to Joplin Server?

Hi,

Here is the procedure specifically for Joplin Desktop running on Linux, migrating from Dropbox to a self-hosted Joplin Server while preserving end-to-end encryption.

Migrating Joplin from Dropbox to Joplin Server on Linux

Step-by-step instructions with end-to-end encryption enabled

These instructions explain how to move an existing Joplin installation on Linux from Dropbox synchronization to Joplin Server while preserving notes, notebooks, attachments, and end-to-end encryption (E2EE).

Important: Do not delete the Dropbox data, disable encryption, or remove the existing Joplin profile until the migration is complete and verified.

Step 1 — Synchronize Joplin with Dropbox

On the Linux computer currently running Joplin:

  1. Open Joplin Desktop.

  2. Click Synchronize to synchronize with Dropbox.

  3. Wait until synchronization finishes.

  4. Verify that all notebooks, notes, and attachments are present.

  5. Check for synchronization errors and resolve any before proceeding.

If Joplin is also installed on other computers or mobile devices, synchronize those devices with Dropbox first. Then synchronize the Linux computer again to obtain their latest changes.

The Linux computer should have a complete, up-to-date copy of the notes before changing synchronization providers.

Step 2 — Back up the Joplin data

Create two backups before making any changes.

A. Export all notes to JEX

  1. Open Joplin Desktop.

  2. Select File → Export All → JEX (Joplin Export File).

  3. Save the JEX file somewhere safe, preferably on another drive.

A JEX export preserves notebooks, notes, and attachments, but it is not a complete backup of Joplin's configuration and encryption settings.

B. Back up the entire Joplin profile

On Linux, the default Joplin Desktop profile is located at:

~/.config/joplin-desktop

Close Joplin completely before copying the profile.

Open a terminal and run:


mkdir -p ~/Joplin-Backup

cp -a ~/.config/joplin-desktop \

~/Joplin-Backup/

This copies the entire Joplin profile, including its database, settings, and encryption-related information.

Note: If Joplin was installed using Flatpak or a custom profile directory, its profile may be stored elsewhere. Confirm the actual profile location before running the backup command.

Do not import the JEX backup into the existing profile during migration, as doing so can create duplicate notes.

Step 3 — Prepare Joplin Server

The new Joplin Server must already be installed, configured, and accessible from the Linux computer.

Obtain the following information:

  • Server URL: For example, https://joplin.example.com

  • Username or email: The Joplin Server account

  • Password: The Joplin Server account password

The Joplin Server account password is separate from the Joplin end-to-end encryption password.

Make sure the server account has sufficient storage capacity for all notes and attachments.

Step 4 — Change the synchronization target

On the Linux computer:

  1. Open Joplin Desktop.

  2. Select Tools → Options.

  3. Select Synchronization.

  4. Change the synchronization target from Dropbox to Joplin Server.

  5. Enter the Joplin Server URL.

  6. Enter the account username/email and password.

  7. Click Check synchronization configuration, if available.

  8. Save or apply the settings.

  9. Return to the main Joplin window.

  10. Click Synchronize.

Joplin should begin uploading the existing notes, notebooks, and attachments to the new server.

Important: Changing the synchronization target is not the same as deleting or recreating the notes. The existing local Joplin database remains in place.

The initial synchronization can take considerable time, especially if there are many attachments.

Allow it to finish without interrupting Joplin.

Step 5 — Verify end-to-end encryption

This step is particularly important because the existing Dropbox synchronization uses E2EE.

After changing synchronization targets:

  1. Open Tools → Options → Encryption.

  2. Verify that end-to-end encryption is enabled.

  3. Confirm that the existing encryption master key is still present.

  4. Confirm that the master key has a valid password.

  5. If E2EE has become disabled, re-enable it using the existing encryption configuration where possible.

  6. Synchronize again and allow the process to finish.

Do not deliberately delete the existing encryption keys or create new ones during this migration.

The person should retain the existing E2EE password. They may need it when connecting other devices.

If encryption must be re-enabled, Joplin may need to upload encrypted versions of existing data again.

Do not proceed until the encryption configuration is correct and synchronization completes successfully.

Step 6 — Connect additional devices

After the Linux computer has synchronized successfully with Joplin Server, configure the other devices.

For each additional computer, Android phone, iPhone, or tablet:

  1. Open Joplin.

  2. Confirm that any pending changes were previously synchronized to Dropbox.

  3. Open the synchronization settings.

  4. Change the synchronization target from Dropbox to Joplin Server.

  5. Enter the Joplin Server URL and account credentials.

  6. Start synchronization.

  7. If prompted, enter the existing end-to-end encryption password.

  8. Allow synchronization and decryption to finish.

  9. Verify that notebooks, notes, and attachments are accessible.

Connect one device at a time, allowing synchronization to finish before proceeding to the next.

If Joplin displays a warning about deleting local notes or an unexpected large number of deletions, stop and investigate rather than accepting the changes.

Step 7 — Verify the migration

Before discontinuing Dropbox synchronization, verify the following:

  • All notebooks are present on the Linux computer.

  • Notes contain the expected text and images.

  • PDFs and other attachments open correctly.

  • End-to-end encryption remains enabled.

  • No encryption keys are missing.

  • Synchronization finishes without errors.

  • All additional devices can synchronize with Joplin Server.

  • A new test note created on one device appears on another device.

A successful initial upload alone does not guarantee that the migration is complete. Verify that changes synchronize correctly between devices.

Step 8 — Retire Dropbox synchronization

Once the migration is complete and verified, Dropbox is no longer needed as Joplin's synchronization provider.

The old synchronization data is generally stored in:

Dropbox/Apps/Joplin

This is the Dropbox cloud folder, not necessarily a folder in the Linux home directory.

Leave the Dropbox data intact for a while as an additional precaution.

After confirming that all devices are using Joplin Server and that the migration was successful, the old Dropbox synchronization folder can be deleted if it is no longer needed.

Important recommendations

Keep end-to-end encryption enabled. There is normally no reason to disable encryption merely to change synchronization providers.

Keep both backups. The JEX export provides a convenient notes backup, while the full Linux profile backup preserves configuration and encryption-related information.

Do not import the JEX backup during a normal migration. The existing Joplin profile already contains the notes that need to be uploaded.

Do not configure multiple devices simultaneously. Complete the initial synchronization on Linux before connecting other devices.

Do not delete Dropbox data prematurely. Retain it until the new server has been tested thoroughly.


Official Joplin documentation

Final recommendation: Use the existing Linux Joplin Desktop profile to perform the migration. Back it up, change the synchronization target to Joplin Server, verify encryption, and then migrate the remaining devices individually. This avoids unnecessary exporting, importing, and rebuilding of the note collection.

I suspect that's an AI response. If not, that's a mighty write up :). But not going to lie, I still prefer a human touch. I use AI daily but I don't fully trust it. If you can't trust it, you can't really use it at the end of the day. And I'm not just paranoid. It leads me astray more often than not even to this day. So when I say I use it, it's mostly to keep abreast and to determine if and when it becomes reliable enough for my tastes.

Well,

These are notes that I have compiled over time, both from AI and my own personal writing, from results from my own personal use, and from others that I have assisted over time here.

ChatGPT Plus has been extremely valuable to me in writing code and doing lots of other highly technical things with computers. You're right: it's not correct 100% of the time but these notes are vetted.

Those notes are a combination of my personal knowledge and experience working on my own OneNote files and helping others with their OneNote data.

I do subscribe to ChatGPT Plus and then I import it into Joplin and add in my own information and work it so that it looks like it does.

It's not magically outputted all like you see it from chat. Joplin is partially responsible for the way that it looks.

I copy results to the clipboard and then paste it into here in the forum using the markdown editor. The rich text editor is the default so I paste it in here as the markdown-formatted text from Joplin.