Zotero sync problem with local Webdav server

edited November 26, 2019
Hello, I have been using a local home qnap server for synching and backing zotero. It had ready to use webdav server. I had to retire the nas and built my own. I am using arch linux on lts 4.19 kernel.

I used a ready docker container from https://hub.docker.com/r/bytemark/webdav. I have not done any configuration other than showing a place where to put files and the account information. Following is the docker-compose.yml file to deploy the container.

version: '3'
services:
webdav:
image: bytemark/webdav
restart: always
ports:
- "8080:80"
environment:
AUTH_TYPE: Digest
SERVER_NAMES: zotero.server.home
volumes:
- /local/path/to/container-data:/var/lib/dav
- /local/path/to/auth/user.passwd:/user.passwd


I am using digest authentication. I can verify the setup is working with a non privileged user by curl commands, similar to below, I can open directory, upload and delete files to the webdav container and see though the browser.

curl --user 'user:pass' 'http://zotero.server.home' --digest
curl --user 'user:pass' -X MKCOL 'http://zotero.server.home/user' --digest
curl --user 'user:pass' -X MKCOL 'http://zotero.server.home/user/zotero --digest
curl --user 'user:pass' -T ./test.txt 'http://zotero.server.home/user/zotero/ --digest

I have entered sync information to Zotero and it passed zotero verification.

When I start sync with zotero, zotero is traversing the database for all items but for each item, as far as I can see gives a message similar to this (I have enabled the debugging and taken the log from Zotero Help > Debug Output Logging > View Log)

checking attachment file for item 1/V58IPEHF

(3)(+0000014): Mod time for 1/V58IPEHF matches remote file -- skipping

After traversing the whole library, no file is uploaded.

I looked at the Dockerfile that is available at https://github.com/BytemarkHosting/docker-webdav.git to see if there are any unexpected issues.

I have seen that the build script adds following directives that maybe relavant to zotero operation.

# These disable redirects on non-GET requests for directories that
# don't include the trailing slash (for misbehaving clients).
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "MS FrontPage" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[01234]" redirect-carefully
BrowserMatch "^gnome-vfs/1.0" redirect-carefully
BrowserMatch "^XML Spy" redirect-carefully
BrowserMatch "^Dreamweaver-WebDAV-SCM1" redirect-carefully
BrowserMatch " Konqueror/4" redirect-carefully
BrowserMatch "^gvfs" redirect-carefully

I would like to point out that that there is no permission problem since I can file operations via curl as an authenticated normal user.

I also would like to point out that client (where zotero application is running) and webdav server machines are time synced.

I post to this forum since it seems the webdav server is running, at least to me, as expected, but I am must be missing something from zotero part.

Any insight, help much appreciated.
Sign In or Register to comment.