Is there something like this but self-hosted? Data encrypted on the client with a good client for Android (and maybe Linux), simple sharing feature for selected items.

Free/Libre Google Photos, basically.

I recently installed and started using this: https://github.com/LycheeOrg/Lychee It doesn't have a load of features, but I expect to be using this for my own pictures from now on. You can create albums and select which users have access to which albums.