I basically just avoid exposing ports from containers unless I really do want them exposed on the host?
Most services go through my reverse proxy, traefik.
Things like databases don't publish ports on the host because they're only accessed internally, using their container name.
I've had a Synology NAS for 15 years or so, and I think it's ideal for this kind of use-case.
It has a point and click configuration UI that you access from a web browser.
There's a reasonably large ecosystem of packages you can install.
I'd have a super-serious talk with them about backing up their stuff.