You don't. KeePass databases can be easily shared totally offline.
However, it all depends on "how easy" you want the sync to happen...
There are many ways to "sync" KeePass databases, basically you just have to copy password database among the devices, which can be done totally offline.
- HARD - Manually copy the KeePass database to the devices
- Can be accomplished via any Network connection or USB cable connection
- EASIER - Put the database on any file sharing service that's available on your devices, and sync that
- The file sharing service can be available on the internet (Google Drive, OneDrive, iCloud...), but it also works with any file sharing service that's not connected to the internet (e.g.: local only Nextcloud server, or not even that, using Syncthing if that's your thing..., which would not even require a local server)
So, I'll just give one example.
If you have 2 devices:
- Linux PC
- Android Phone
You can use KeePassXC on the Linux PC, and KeePassDX on the Android Phone, and have a copy of your kdbx file (the encrypted database) on each device, manually copying the newer version whenever there are changes on them.
Issues that might happen: consistency between the files in case you make changes to both databases and forgot to sync manually previously. There's no easy way to handle this currently afaik if you are doing manual syncs... I'd suggest maintaining one of the databases as "kinda read only", not performing edits on it unless you can immediately copy it to the other one.
You can do the same thing above, but instead of manually copying the files among the devices you can use Syncthing... Or if you have a local Nextcloud server, you can use that to share the files, which is pretty easy to use to ensure consistency if you are using KeePassXC and KeePassDX, since if you open the database on Android using KeePassXC directly to the "file system" that links to the Nextcloud folder, it will always automatically retrieve the newest version to your device if there has been any change and if your local Nextcloud server is reachable, otherwise it just uses the local cache, and you will know it's using the local cache and was not able to sync.