↓Zum Hauptinhalt springen
  1. Digitale Odyssee/

Lokales WebDAV für Zotero unter Windows: Sync, Grenzen und Backup

··723 Wörter·4 min·
Digitale Odyssee Zotero WebDAV Docker Windows-11 Forschungstools Self-Hosting Guide Wissensmanagement
Simon Bernbeck
Autor
Simon Bernbeck
Software-Ingenieur und Masterstudent in Informatik an der PUC Rio de Janeiro, ursprünglich aus Deutschland. Ich schreibe über das, was ich lerne, wo ich hinreise und was es wert ist, weitergegeben zu werden.
Inhaltsverzeichnis

Zotero kann die Datensätze einer persönlichen Bibliothek über den eigenen Dienst synchronisieren und angehängte Dateien stattdessen an einen WebDAV-Server senden. Ich wollte prüfen, ob ein kleiner Server auf einem Windows-11-Rechner diese zweite Aufgabe für meine Geräte übernehmen kann. Das ist möglich, hat aber Grenzen, die wichtiger sind als der Docker-Befehl.

Die Trennung zwischen Zotero-Daten und Dateianhängen ist entscheidend. Laut Zoteros Dokumentation zur Synchronisation kann WebDAV Dateien einer persönlichen Bibliothek synchronisieren; für Dateien in Gruppenbibliotheken gilt das nicht. Die Bibliotheksdaten werden weiterhin über Zotero synchronisiert. Ein WebDAV-Server auf dem Laptop ist für ein iPad nur erreichbar, wenn der Laptop läuft und eine Netzwerkverbindung zu ihm besteht.

Was ein lokaler WebDAV-Server verändert
#

Der WebDAV-Server speichert Kopien, die Zotero bei der Dateisynchronisation hochlädt. Er ersetzt nicht das lokale Zotero-Datenverzeichnis. Darin liegen unter anderem die Datenbank und der Ordner storage, den die Desktop-Anwendung verwendet. Der WebDAV-Server braucht ein eigenes dauerhaftes Verzeichnis, getrennt vom Zotero-Datenverzeichnis. Kopiere Zoteros lokalen Ordner storage nicht in einen neuen WebDAV-Ordner in der Erwartung, Zotero würde ihn übernehmen. Lass Zotero Anhänge über seinen normalen Sync-Ablauf hochladen.

Unter Windows habe ich Docker Desktop genutzt, weil sich Dienst und Speicherort so klar zuordnen lassen. Das Verzeichnis des Containers muss auf einen dauerhaften Ordner des Rechners eingebunden sein; sonst können hochgeladene Kopien beim Entfernen des Containers verloren gehen. Wo ein WebDAV-Image Daten erwartet und wie seine Anmeldung eingerichtet wird, steht in dessen aktueller Dokumentation. Diese Angaben sollte man prüfen, bevor man eine Compose-Datei aus einem älteren Beitrag übernimmt.

Soll der Server nur auf demselben Rechner laufen, binde den Port an 127.0.0.1. Für Telefon oder Tablet im selben vertrauenswürdigen Netz muss er über die LAN-Adresse des Rechners erreichbar sein; die Firewall-Regel sollte auf dieses Netz begrenzt sein. Eine Portweiterleitung vom Router ins öffentliche Internet ist dafür nicht nötig. Einfaches HTTP mit Basic Authentication kann Zugangsdaten und Dateien gegenüber Mitlesenden im Netz offenlegen. Für Zugriffe außerhalb eines bewusst abgeschotteten, vertrauenswürdigen Netzes ist HTTPS erforderlich.

Zotero verbinden und einen kleinen Anhang prüfen
#

In Zotero Desktop unter Einstellungen → Synchronisation → Dateisynchronisation WebDAV für die persönliche Bibliothek wählen. Serveradresse, Zugangsdaten und das passende HTTP- oder HTTPS-Schema eintragen. Vor dem eigentlichen Sync auf Server überprüfen klicken. Zotero benötigt einen beschreibbaren WebDAV-Ort und verwaltet seinen Bereich /zotero/ selbst; was in das URL-Feld gehört, hängt vom Basispfad des Servers ab. Das Prüfergebnis ist aussagekräftiger, als die Verzeichnisstruktur von Hand nachzubauen.

Für einen sinnvollen Test reicht ein kleines PDF in der persönlichen Bibliothek. Auf dem Desktop synchronisieren, den Upload abwarten und denselben Eintrag auf einem zweiten Gerät öffnen. Erscheinen nur die Metadaten, aber nicht das PDF, zuerst Dateisynchronisation und Erreichbarkeit des Servers prüfen. Ein WebDAV-Anmeldedialog im Browser beweist lediglich, dass der Dienst erreichbar ist, nicht dass Zotero dort alle nötigen Schreib- und Lesevorgänge ausführen kann.

Auf iPad oder iPhone meint localhost das mobile Gerät selbst. Verwende die LAN-Adresse des Laptops oder einen sicher eingerichteten Hostnamen und trage denselben WebDAV-Zugang in Zoteros Einstellungen zur Dateisynchronisation ein, sofern die App dies unterstützt. Beim Abgleich müssen beide Geräte den Server erreichen können. Wenn der Laptop schläft oder außerhalb des Netzes ist, kann er fehlende Anhänge nicht bereitstellen.

Die Bibliothek unabhängig sichern
#

Dateisynchronisation ist kein Backup. Eine versehentliche Löschung oder eine beschädigte lokale Datenbank kann sich auf andere Geräte übertragen. Eine zweite Kopie durch einen Cloud-Client ist nicht automatisch eine versionierte Sicherung. Windows-Junctions sind dabei besonders leicht falsch zu verstehen. Die in einer früheren Fassung dieses Beitrags empfohlene OneDrive-Junction empfehle ich als Backup-Verfahren nicht mehr.

Zotero empfiehlt eine Sicherung des gesamten Datenverzeichnisses, also der Datenbank und der Anhänge; für eine manuelle Kopie sollte Zotero geschlossen sein. Eine versionierte Sicherung auf einem anderen Datenträger bietet einen wiederherstellbaren Stand. Wer WebDAV nutzt, sollte auch dessen Speicher gesondert sichern. Vorher prüfen, ob die zu schützenden Dateien lokal tatsächlich vorhanden sind.

Wann ich diese Lösung nutzen würde
#

Ein lokaler WebDAV-Server passt, wenn ich den Rechner kontrolliere, die Netzgrenze verstehe und den Dienst für die Synchronisation erreichbar halte. Auf Reisen und für Gruppenbibliotheken ist er weniger praktisch. Zotero Storage bleibt für einen einfachen Abgleich mehrerer Geräte die von Zotero empfohlene Lösung; ein WebDAV-Dienst der eigenen Einrichtung kann ebenfalls infrage kommen.

Der Vorteil des eigenen Servers ist die Kontrolle über den Speicherort der Anhänge meiner persönlichen Bibliothek. Dafür übernehme ich Wartung, Erreichbarkeit und Sicherung. Diese Entscheidung würde ich erst nach einem vollständigen Test mit einem Anhang und einer erfolgreichen Wiederherstellung treffen.

Verwandte Artikel

LifeClock (Teil 1/2): Von Memento Mori zu Python
··1554 Wörter·8 min
Digitale Odyssee CS50 Python Philosophie Memento-Mori Stoizismus CLI Testing Persönliches-Projekt
LifeClock (Teil 2/2): Refactoring zu Clean Architecture
··5326 Wörter·26 min
Digitale Odyssee Clean-Architecture Python Refactoring Software-Design LifeClock Testing Architecture