If you are on NixOS for your home server, take a look at my project that does most of the work for you. Bundles router, DDNS, firewall, vpn, ad blocking, and all the apps into a single integrated service if your machine has two ethernet ports. Even if you don't use it directly, the services are broken out into modules which can be referenced for your own setup:
It's still a work in progress, but currently exposes baikal, radicale, and nextcloud as services. I'm looking to add a front end that integrates calendar, contacts, and docs without needing to know what "caldav" is. Look in the "services" folder of the source repo to see which services are already integrated.
https://homefree.host