Gastartikel von Marc
Wir nutzen in unserer Familie Laptops mit Windows und Linux sowie mobile Apple-Geräte. Auf den Laptops setzen wir ausschließlich Keepass ein und möchten dies auch auf den mobilen Geräten tun.
Synchronisiert werden die Keepass-Datenbanken auf den Laptops per Syncthing, welches auf einem Raspberry Pi im Heimnetz läuft. Die Synchronisation der Keepass-Datenbank über das Dateisystem von iOS funktioniert bei uns nicht sehr zuverlässig. Auf mobilen Geräten wie iPhones sind Anwendungen in einer Sandbox isoliert. iOS-Apps wie Keepassium und Strongbox weisen explizit darauf hin und empfehlen Cloud-Dienste zur Synchronisation. Daneben bieten die zwei Apps aber auch WebDAV an.
Bei der Nutzung von WebDAV in Keepassium oder Strongbox wird beim Öffnen der App der neueste Stand vom Server gezogen. Falls dieser nicht verfügbar ist, wird eine lokale Kopie innerhalb der App-Sandbox geöffnet. Eine super Sache, wenn man offline ist.
Auch auf dem Desktop kann man in KeepassXC eine Datenbank direkt per WebDAV öffnen; durch Eingabe der WebDAV-URL und anschließendem Login. Aber es wird keine lokale Kopie vorgehalten, wie auf den mobilen Anwendungen. Auf den Laptops ist dies auch nicht notwendig, da Syncthing eine lokale Kopie für den Offline-Zugriff auf dem Dateisystem speichert.
Warum also nicht Syncthing und WebDAV kombinieren?
Das Konzept
Syncthing und WebDAV teilen sich einen gemeinsamen Ordner auf dem Raspberry Pi (Server). Hierfür muss ein WebDAV-Server der Wahl eingerichtet sein sowie Syncthing laufen.

Als WebDAV-Server fiel die Wahl auf NGINX in Kombination mit dem dav-Modul. Der Syncthing-Dienst läuft bei uns unter dem User “syncthing” und der WebDAV-Server als “www-data”. Damit beide Dienste auf den gemeinsamen Ordner zugreifen können, werden die User “syncthing” und “www-data” der “Gruppe” des geteilten Ordners hinzugefügt.
$ sudo adduser --system --home /path/to/ --group fileowner
$ sudo usermod -aG fileowner syncthing
$ sudo usermod -aG fileowner www-data
Damit beide Anwendungen dieselben Ordner bzw. Dateien lesen und schreiben können, muss das setgid-bit gesetzt werden. Zusätzlich muss der SystemD-Service von Syncthing angepasst werden, damit neue Dateien/Ordner die richtigen Zugriffsrechte besitzen:
$ sudo chmod g+s /path/to/syncthing
$ sudo systemctl edit syncthing@syncthing
[Service]
Umask=0007
Die Kombination aus WebDAV und Syncthing funktioniert bei uns in der Familie so gut, dass wir es mit der Community teilen möchten.
Quellen
- https://whhone.com/posts/webdav-syncthing/
- https://www.heise.de/ratgeber/BASPi-Backup-und-Sync-ohne-Cloud-mit-einem-Raspi-einrichten-9852318.html
- https://wiki.archlinux.org/title/WebDAV#nginx
- https://wiki.archlinux.org/title/Syncthing#System_service

bei mir läuft seit Jahren ebenfalls ein Raspi als zentrale Instanz für die Synchronisation der Keepas-DB über diverse Geräte. Das funktioniert soweit gut, wobei ich die Synchronisation auf den Mobiltelefonen nur bei Bedarf aktiviere und nach Abschluss der Sync wieder deaktiviere, um nicht immer einen laufenden Hintergrundprozess zu haben, der eventuell Energie frißt. Viel wichtiger ist es aber auf Synchronisationskonflikte zu achten. Die gibt es immer, wenn man nicht dran denkt und an 2 oder mehr Geräten die Datenbank öffnet und Änderungen vornimmt. Das ist ein kleiner Nachteil dieses Konzepts. Auf dem Raspi empfehle ich dann noch die Versionierung zu aktivieren, Synching kann das von Haus aus. Es ist mir zwar noch nie passiert, dass ich eine DB zerschossen habe, aber sicher ist sicher. Und bitte nicht vergessen, die Keepass-DB in die Datensicherung mit aufzunehmen.
Gruss, Peter
Die Konflikte löst du dann händisch am Rechner auf?
Wenn man bereits einen eigenen Raspi im Netz hat, dann kann man Syncthing auch einfach direkt dort installieren und alle Geräte (bzw. den Ordner mit der .kdbx Datei) dann mit dieser “always-on” Syncthing-instanz auf dem Raspi synchronisieren.
Ich nutze diese Konfiguration seit einigen Jahre ohne Probleme mit einer Mischung aus Linux, Android und Windows Geräten.
Lesen bildet. 🙂 Im Artikel steht ja ausdrücklich etwas von iOS – und dann ist WebDAV sicher eine gute Lösung. Syncthing selbst wird auf iOS nicht unterstützt. Vielen Dank für den Artikel!
Moin,
wo kann man in KeePassXC eine WebDAV-Url eingeben?
Ist hier erklärt z.B.:
https://www.sdpeukert.de/keepassxc-kein-webdav-zugriff/
Bei mir wird gar nichts synchronisiert.
Im lokalen Netz holt sich jeder Rechner die benötigten Dateien von /NAS.
Dort liegt auch für alle die selbe .kdbx Datei bereit.
Der Ordner /NAS liegt auf einem Rpi4 und ist mittels nfs bei jedem Rechner gemountet.
Siehe:
https://wiki.archlinux.de/title/Network_File_System
Natürlich ist das nichts für unterwegs, aber ich will gar nicht alle Zugangsdaten mobil mit mir rumschleppen. Die wichtigen Sachen erledige ich immer noch daheim am Rechner.
Klingt nach einer guten Umsetzung. Ich habe mir für einen selbst gehosteten Bitwarden (vaultwarden) als Docker Container mit Traefik als Reverseproxy entschieden. Hier gibt es für alle bekannten Browser sowohl für Windows als auch für macOS Plugins + entsprechende App für iOS. Mit DuoMobile den 2FA umgesetzt. Bin damit mehr als zufrieden.
Wenn du Syncthing und nginx aus den Paketquellen (z.B. Debian) installiert ist das Setup sehr wartungsarm. Mit einem minimal Debian 12 und unattended-upgrades geht es gegen null…
Was genau meinst du mit:
Ich synchronisiere mit Möbius Sync und mache die Datei dann in Keepassium auf. Funktioniert schon seit langem so.
Wenn MöbiusSync zuverlässig im Hintergrund läuft funktioniert das gut, das stimmt. Es gibt aber Familienmitglieder, die beenden MöbiusSync unbewusst, dann gibt bzw. gab es regelmäßig Dateikonflikte.
Cooler Beitrag – nur was ist mit Android?
Kann irgendwer eine App empfehlen die mit KeePassXC in der Form zusammenarbeitet?
Ich nutze schon lange Keepass2Android. Erhältlich via Play Store oder GitHub => https://github.com/PhilippC/keepass2android . Macht alles, was ich brauche. Kann den Zugriff auf die Datenbank auch via WebDAV realisieren. Es gäbe noch KeePassDX, aber dazu kann ich nichts sagen.
Sollte doch eigentlich auch mit syncthing bzw. syncthing-fork funktionieren. Wobei ich gerade auf einen neuen Eintrag in meiner keepass-DB auf dem Android-Gerät warte?!?
Aber Nextcloud funktioniert da auch gut.
Es geht um den Passwortmanager – syncthing-fork funktioniert einwandfrei. Keepassium und Strongbox sind soweit ich weiß Passwortmanager. Auf Android gibt’s da auch einige, fraglich ist nur welcher davon arbeiten mit KeePassXC in der beschriebenen Form zusammen?
Ich nutze Keepass2Android, fahre damit seit Jahren eigentlich ganz gut.
Laut https://keepassxc.org/docs/ werden ganz unten diese Apps empfohlen:
Sehr coole Lösung! Ich hab’s für mich anders gelöst: Selbstgehostete Nextcloud, alle Desktop-Geräte und alle Smartphones synchronisieren die kdbx-Datei, die somit auch überall lokal exisitert. Die entsprechenden Nextcloud-Apps müssen natürlich überall installiert u. korrekt konfiguriert sein. Die Nextcloud hatte ich eh. Sie eigens dafür zu installieren/konfigurieren wäre aber vermutlich ein bisschen drüber 😉
Hab heute eine Nextcloud auf einem Pi eingerichtet, dank des Scriptes von NextcoudPi musste ich da nicht viel machen. Ok, natürlich Feinkonfiguration, Freigaben auf der Fritzbox, dyndns-Dienst etc. und mich etwas durch die Nextcloud-Config arbeiten. Imho ist mit Nextcloud auch webdav-Zugriff möglich, zusätzlich hat man halt noch ein paar weitere Optionen.
Gibt es eigentlich noch das Keepass-Plugin für Nextcloud? Das hab ich früher mal gelegentlich benutzt, falls ich ein Passwort brauchte aber mein Smartphone nicht dabei hatte.