• 0 Posts
  • 6 Comments
Joined 1 year ago
cake
Cake day: October 6th, 2024

help-circle
  • There is a way to make this work. It goes like this:

    • You do not use any external sync mechanism. Instead you work on one file only. Multiple clients can have it open simultaneously.
    • The apps I use succesfully that way are KeepassXC on Linux and Keepass2Android on Android.
    • You make the file accessible via SFTP (WebDAV might work too, although I haven’t tried that). I have a public server running where I created an account to only serve this keepass db file.
    • On the Linux clients I created an automount via SSHFS. KeepassXC opens the file via this mount.
    • Keepass2Android has SFTP built-in and can therefore access the file directly itself. This is important since all solutions that involve presenting the file via Android Storage Provider are not designed for that task and can lead to data loss (ask me how I know.) That’s why KeePassDX is not an option. It deals with local files only. (I haven’t checked any of the other Android apps.)
    • The syncing is handled by the apps themselves. They can detect or be made aware of changes to the file by the user that may happen even whilst they have it open, and they both handle the syncing correctly and reliably.
    • Keepass2Android can even deal with network outages since it is smart enough to keep an internal local copy of the file and to take care of the sync later.
    • Since KeepassXC doesn’t have this caching it needs the network to be up. You should create a cron job (or systemd timer) that makes a local copy every now and then, so you have a fallback.




  • What I use covers not only calender functionality but also address books:

    Server: I recommend Baïkal. It’s based on the same calendar and contacts library that comes with Nextcloud. Reliable and powerful. This of course means you have to host this PHP app somewhere. If you prefer to have it as a service, a small rented Nextcloud instance may be easier to get because of it’s popularity.

    Android: As already mentioned DAVx5 covers the sync function very well. As for the Calender app I like aCalendar+ but many others (maybe even stock calendar, but I’ve never tried it) should work. For contacts the stock app works here, as do others. One thing to look out for: You now have multiple calendars/address books. Make sure you store your data in the DAVx5 based ones. Check if your apps allow you to actually select them, or even better to make them the default. Otherwise it may look like sync is broken.

    Linux: I use Thunderbird which supports CalDAV and CardDAV natively.

    I use these for years without problems.