Looking at your requirements, there are some apps that are worth looking at:

- [Photoprism][1], demo is [here][2].

- [Piwigo][3], demo is [here][4].

- [Photonix][5]

I suggest trying out their demos, so that you can decide what works best for you.

There is also a [comprehensive list here][6] with other suggestions.


  [1]: https://github.com/photoprism/photoprism
  [2]: https://demo.photoprism.org
  [3]: https://piwigo.org/
  [4]: https://piwigo.org/demo/
  [5]: https://github.com/damianmoore/photonix
  [6]: https://en.wikipedia.org/wiki/Comparison_of_photo_gallery_software