I’m using Debian, with Docker and running Jellyfin, Nextcloud, Navidrome and Wireguard on Containers on my old laptop. So that would be my suggestion.
You could install CasaOS and/or Portainer, on top of Debian if you want an easier way to manage your server and containers.
I recommend DuckDNS as well, you can run it both sides and set up a daemon to update the domain when there is an IP change automatically.
And with Wireguard you can set up a tunnel between both locations so you can share anything you need.