I store everything in Calibre. When I buy an eBook from Amazon, the first thing I do is strip the DRM. Because even though I'm basically happy with my Kindle library, I don't want to lose all my stuff if they change their policies to something I'm not happy with in the future.
So I'm doing most of my library management from a PC, but doing most of my reading from a Kindle Fire. There's no great solution for this, so I've just been taking the books that I'm actively reading and copying them into Dropbox.
This is an interesting project, and I'm sure I'll try it out. But I'm skeptical of using a browser-based book reader on my Kindle. Say what you want about Amazon, their native reading app is still the best I've ever seen by far. Meanwhile, even Amazon's own web-based reader is crap.
[Syncthing](https://syncthing.net/) is the perfect tool for the job. Set Calibre's directory on your PC as the main folder, and it'll propagate changes wherever you want.
I do, with Dropbox, and it mostly works... but it's very easy to get the database corrupted even if you are careful not to have more than one instance of Calibre open.
I haven't tried using a source control system, that might work better. Hmmm.
And of course that only works for computers, There isn't a full version of Calibre for Android.
Those aren't corrupted databases, it just can't merge so it leaves you to pick the version you want. Just pick one and keep using it, at most you'll lose some recent changes from the other computer.
I should have known not to use language imprecisely on HN. :)
To the layman, any situation that results in having Calibre show books which are not in fact there, or having books in the library which are not shown in Calibre, or having Calibre's check library function report that there are "invalid titles", "missing formats" etc., could be casually described as "corruption".
There is calibre companion an app that lets you sync all or part of your library. To sync you would merely connect wirelessly and then search for ondevice:false and send those to the device.
Exactly. The problem is that you lose searchability. On the filesystem, Calibre organizes your library in a series of subdirectories named by author. If you want to find a book by title, or some other criteria... or even when it's a book with multiple co-authors and don't know which one Calibre selected as the primary... then you'll have a bad time.
Yup, that's exactly what I do. I sync over the database and library over to Nextcloud to have it available on both of the operating systems I'm using.
It's also synced automatically to an external hard drive connected to the Raspberry Pi, so I have two backups (one online, one offline) in case something goes wrong.