Calibre is what I would take a look at. There is a web version that has a couple of different setups. for docker this looks interesting:
https://github.com/linuxserver/docker-calibre-web
Ive also used yunohost (mostly for ease of use and backups) here: https://apps.yunohost.org/app/calibreweb
Its basically the same thing either way.