My only advice would be to go full NextCloud at first for simplicity instead of trying to integrate it with other services.
That being said, if later on you're looking for a way to store images I'd highly recommend Immich, I just finished setting up my own hosting setup a few days ago and it is gorgeous.
Does immich have a good way to hide or lock certain photos? I'd love to share most of my photo library with my friends but there are some photos I want backed up that I'd rather not share
Kind of, you can share individual albums so it is possible to share all but one. This may or may not be practical though depending on your album structure.