My Avatar

LanternD's Castle

An electronics enthusiast - survive technically

Zotero Configuration for Attachment Synchronization Between Multiple Computers


Zotero + Dropbox + Zotfile configuration to synchronize documents database and files among different computers. You definitely can find similar tutorial from the web, however this is what I finally choose after so many attempts.


Zotero is a well-known free document organization software. It is powerful and easy to use. This post proposes some methods to augment its ability to share documents between multiple computers.

The goal is like this: in computer A, I save a PDF document from an online archive database, such as ACM Digital Library, IEEE Xplore, ArXiv, via the Google Chrome Zotero Connector extension. Then:

In this way, the documents appears in another computer immediately, safe and sound.


Step 1: Installation

Step 3: General Settings

Enter Edit -> Preferences.

In General tab, uncheck the option “Automatically take snapshots when creating items from web pages”. If it is enabled, Zotero generates plenty of trashy files and pollutes your storage folder.

Step 4: Storage Selection

In Tools -> ZotFile Preferences, choose the “Source Folder for Attaching New Files”.

Next, choose “Location of Files”, check “Custom Location” radio button. Select a location in the Dropbox. For example, it is “~/Dropbox/Zotero/My Storage/” in my case.

Finally, check “Use subfolder defined by” with field value /%w/%y. It’s up to you. But I think this makes your storage folder better organized. Otherwise the folder name is a random sequence. %w means the publisher; %y means the publish year. Visit for more information.


Update the settings in “Renaming Rules” and “Advanced Settings” tabs as you like.

In Edit -> Preferences, Advanced tab, “Files and Folders” subtab, change the “Base directory” under “Linked Attachment Base Directory”. This path should be your Dropbox storage folder!


[!important] The “Data Directory Location” is where Zotero stores your personal database (typically locate, styles, translators, pipes and zotero.sqlite). It is not for attachment (PDF) storage. Don’t set it to a Dropbox folder! If you would like to change it, backup your personal data first. It will be fine if you leave it as it is. Anyway, your personal database has a copy on Zotero server. This folder is where they synchronize it from the server to local.

Remember your profile data directory. Let me call it {your_profile_directory}. We will use it later.

Step 5: Sign-in and Sync Settings

In Sync, sign in the account. Uncheck the two options in “File Syncing”.


After that, start to synchronize everything by clicking the button on the top-right corner.


For my 1500+ items, it takes 3 minutes to synchronize the files, and 5 minutes to index the attachments.

Step 5: Folder Link

If your Zotero finds all the linked attachments, then you are good to go. Otherwise, you need to revise your data directory. Generally for me, there are 3/4 of the documents missing their attachments. Note: this number really depends on how you manage your attachment in the very beginning. All my missing-attachment items were imported before I started using ZotFile.

This is the key step! You need to replace the storage folder under your profile data directory ({your_profile_directory}). The storage folder is the one that actually consumes your storage quota of your Zotero account. If you create a soft link (don’t use hard link) and point to the Dropbox folder, you use 0 MB of the storage quota (300 MB for a free account). Both Zotero and you are happy with it.

I suggest you close Zotero first, then create the symbolic link, and open Zotero again to index the rest of the attachments.

ln -s ~/Dropbox/Zotero/My\ Storage {your_profile_directory}/storage

Note that the folder can only be named “storage”, and do not put a pair of double quotes on the folder path in the commands.

[A small tip]: I should not name my storage folder under Dropbox “My Storage”, the space in the folder sometimes causes troubles to me. Something like “my_storage” will be better.

Finally, the folder looks like this:


By this far, we achieved our goal. You need to do so on every computer that is going to synchronize the Zotero database and attached files.

Step 6: Other settings (Optional)

Enable recursive collection

This is my preferred setting: the parent collection will contain all the items in its child collections. The Zotero developer called it “Recursive Collection”. You can find the way to set it in:

Zotero Support - Collections and Tags

Basically, you set the variable extensions.zotero.recursiveCollections to true in Zotero Preferences -> Advanced -> General -> Advanced Configuration -> Config Editor.

Add Zotero to “My Favorite”

ln -s ~/Software/Zotero_linux-x86_64/zotero.desktop ~/.local/share/applications

Then run the {zotero folder}/set_launcher_icon.

Now we can find Zotero in the Search, and we can add it to the Favorite list.

Disqus Comment 0