To receive zaps, I use https://github.com/thesimplekid/cln-zapper-rs from thesimplekid (npub1qjg…lgjw) and https://github.com/elsirion/clnurl from elsirion (npub1nc0…z5pa). The CLNURL server is exposed through NGINX on a public server and traffic is routed over a Wireguard tunnel to my node. I have yet to set up NWC for zapping from my node though, only because I've been lazy about it.
A tutorial can be found here: https://github.com/TheFockinFury/Non-Custodial-Nostr-Zaps-CLN