Wavelog
I have just installed Wavelog (https://www.wavelog.org/) which is a self-hosted QSO logging application, all web-based PHP with a MySQL backend plus a lot more.
It's that last bit - the 'lot more' which has somewhat turned me off from installing any kind of decent logging package as when I checked, admittedly a long time ago there was simply too much noise. Packages were simply filled with too many options for my poor old brain and after looking a while I just settled on using qrz.com for all my QSO logging. But, of course, things change with time. Plus that is not intended as a criticism of any other package... it's just me.
I wrote simple PHP scripts to send the latest QSO from each rig PC to qrz.com plus more to query eQSL. Another script pulls from qrz.com and populates wsjt-x's logging. I made my own logging program and database which did just what I needed, and then added more complexity to record QSL cards etc. and for WAB awards. I ended up with a suite of scripts with qrz.com being the master database. Logging to LoTW was via qrz.com not direct. You can see it ended up a bit of a muddle, but it did just what I needed just how I wanted.
But I was drawn to Wavelog. And so, seeing it was raining plus I had to remain at home due to building work I installed it. There is a Docker version and a normal LAMP one, the latter being ideal for me. Installation was very quick with excellent instructions assuming you know sufficient Linux stuff and have the required access etc.
Priming it with all my QSOs from qrz.com was simply a matter of exporting to ADIF and importing that - you do need to relevant subscription to qrz.com for this but I am a life member so no issue. It integrates to LoTW as well and has an option to quickly send new QSOs to qrz.com and to LoTW - and eQSL, HRD, Clublog and others.
There is still a lot to learn - for example it has an Awards tab that includes WAB so I need to read up on how to add that data in.
The next steps for me is to sort out automatically logging from wsjt-x - there is a way, but again I need to get my head around it. From a quick read there is some glueware available which may be all I need. There is also a Python script from M7STJ which will listen to UDP from wsjt-x and log that way - the method I prefer (and indeed was writing before I decided to install a proper logging application instead!).
Early days - well, day - but Wavelog feels ideally suited to me, or I to it, plus it offers a whole lot more without ramming it in your face.