This guide shows a way to freely synchronize and backup a Zotero library on multiple devices. A Zotero account allows to freely backup up to 2GB of library. Alternatively, it allows to synchronize the library via a WedDav server. This guide consists of setting up and launching a local WebDav server, in a Docker container, that stores and manages the Zotero library. The folder containing the raw-data of the Zotero library, managed by the local WebDav server, is then synchronized with a cloud storage (kdrive in this case).
Kdrive is choosen as a cloud storage provider as it offers 15GB of free storage and a synchronization app available for Windows, MacOs and Linux.
The same approach can be applied with any other cloud storage / application that enables you to synchronize a local folder with a cloud provider.
- Zotero https://www.zotero.org/
- Docker https://www.docker.com/
- docker-compose
- kdrive https://www.infomaniak.com/it/kdrive
- Create a new account, install the synchronization app, create a folder inside your cloud storage where to store the Zotero library, synchronize the folder on your machine with the dedicated app.
Based on the docker image https://hub.docker.com/r/derkades/webdav
- Clone the repository;
git clone https://github.com/giovannifarina/webdav_zotero.git
- Edit the
volume
parameter indocker-compose.yml
and specify the path to folder containing the Zotero's data, e.g.
volumes: ['/Users/gio/kDrive/webdav_zotero:/data']
You can edit the other basic configuration parameters therein if you like;
- Execute the following code
docker-compose build
docker-compose -p webdav_zotero up -d
- Grant write permission to the volume folder to "other" (unsafe version)
chmod -R 777 /home/gio/kDrive/webdav_zotero/zotero
-
Edit Zotero's settings
- Login with your Zotero account
- Below, select WebDAV
- Set the parameters as in the following picture
- Click on the verify button to check if WebDAV is properly working
-
Apply the same procedure on all the machine you would like to get synchronized. Remember to keep your synchronization app active on the folder you provided at point 2. The WebDav server should start automatically when you start Docker.