digiKam[1] might be for you. I only tried it briefly, but I think it covers most of the requirements out outlined.
I personally landed on Peakto[2], since it has the unique ability to create a unified catalog across multiple CaptureOne sessions, but it's probably overkill for what you need.
I personally landed on Peakto[2], since it has the unique ability to create a unified catalog across multiple CaptureOne sessions, but it's probably overkill for what you need.
[1] https://www.digikam.org
[2] https://cyme.io/en/products/peakto/