My solution is to create a docker network with the macvlan driver connected to a bridge interface on the host. Then you make the database listen on the bridge or just leave it on all interfaces. Don’t forget to configure the ips.
I can share my config later.
I’m currently using Astro for that. You can write the pages in markdown, html or one of the many js frameworks. It also allows you to mix them.
By default it generates static websites with out any js, but it allows you to add js where needed. Optional server side features are wip, if you decide to need them later on.
They also have pre made themes on their website if you don’t feel like writing css.