joplin-dropbox-setup
This guide explains how to set up Joplin end-to-end encrypted synchronization with Dropbox, both on a PC (with Joplin Desktop) and on an Android smartphone (with the Joplin Mobile app).
Upload initial data to Dropbox
It's recommended to use Joplin Desktop to create your initial data (notes, attachments, notebooks, etc.) because, unlike Joplin Mobile, it makes it easy to start from scratch, i.e. without unwanted default notes and attachments.
You can run Joplin Desktop in a Docker container using dmotte/docker-xfwd
:
Once the application opens, you will notice that some default data is already present:
To completely remove it, go to Tools
→ Options
→ Synchronization
and click on Show Advanced Settings
, then on the Delete local data and re-download from sync target
button. Since we didn't set up a synchronization target yet, Joplin will just remove all the data.
Now we need to enable end-to-end encryption: go to Tools
→ Options
→ Encryption
and click on Enable encryption
, enter a password and click OK
.
Now you can create your initial data.
To set up synchronization with your Dropbox account, go to Tools
→ Options
→ Synchronization
, set the Synchronization target
to Dropbox
and click OK
. Then go back to the main screen and click on the Synchronize
button:
Follow the procedure to authorize the application:
Once the synchronization is set up, Joplin Desktop will synchronize your data to the Apps/Joplin
folder in your Dropbox account:
Download zip backup from Dropbox
You can download a backup (zip file) of your encrypted Joplin data from Dropbox at any time: simply locate the Apps/Joplin
folder in the Dropbox web interface, click on the folder's three-dot icon (More
) and then on Download
:
Set up Joplin Mobile
Important: as a first step, download a backup of the
Apps/Joplin
folder from your Dropbox account (see the Download zip backup from Dropbox section). It will be needed later.
Install the Joplin Mobile Android app on your smartphone and open it. You'll notice that some default data is already present:
Let's keep it there for now; we will remove it later.
To set up synchronization with your Dropbox account, go to Configuration
→ Synchronization
, set the Synchronization target
to Dropbox
and click the save button. Then go back to the main screen and click on the Synchronize
button:
Follow the procedure to authorize the application:
Then click on the Synchronize
button again. At this point, an alert should appear, saying that the remote data is end-to-end encrypted and you need to set your decryption password:
You can do so by clicking on the alert itself:
After you run the first synchronization successfully, you'll notice that some items have been created in the Dropbox Apps/Joplin
folder: they are the default notes and attachments uploaded from the Joplin Mobile app:
To get rid of them, after the first sync is completed, close the Joplin Mobile app. While keeping it closed (so the synchronization cannot run), replace all the content of the Apps/Joplin
Dropbox folder with the content of the zip file you downloaded previously. Then run the synchronization again. This should force the Joplin Mobile app to delete such unwanted items from its local storage:
Note: we use this custom approach to forcefully delete the default Joplin Mobile notes and attachments because simply deleting them manually from the app would only mark them as deleted, but they would still remain in both the app's local storage and Dropbox. This is a quirk of how Joplin handles deletions.
Read zip backup using Joplin Desktop
This section explains how to read the contents of a zip backup (created with the procedure described in the Download zip backup from Dropbox section) using Joplin Desktop, without involving Dropbox at all.
First of all, extract the contents of the zip archive to some directory on your PC. Example command:
Bash | |
---|---|
Then start Joplin Desktop in a Docker container like we did in the Upload initial data to Dropbox section, but with an additional -v
flag to the docker run
command like the following, to mount the extracted directory in the container:
Bash | |
---|---|
Once the application opens, go to Tools
→ Options
→ Synchronization
, set the Synchronization target
to File system
and enter the full path of the directory that contains the extracted content (as seen from inside the container):
Note: basically you need to enter the path of the directory where the
info.json
file is located.
Click on the Apply
button. Then click on Show Advanced Settings
and then on the Delete local data and re-download from sync target
button.