This repo exists solely to help you compare all the alternatives.
My quick look through the feature matrix, the best options (purely in terms of the number of features in the comparison) are Ente, Immich, and Nextcloud (there's both Nextcloud Photos and Nextcloud Memories—I'm not sure how they work together vs separately). Unfortunately a "memories" feature isn't in the feature matrix, but from a quick search I believe all the options I just named have it.