If you exclusively use cloudflare tunnels you don't need a proxy on your end unless you want to do split-horizon DNS for local access.
But otherwise, nginx, caddy, traefik, npm, etc.. all work fine with Cloudflare. Personally I'm using Traefik and Caddy on my setups right now.
Also, a bit off-topic, but is Cloudflare’s proxy really needed? I heard it’s insecure to self host sites without Cloudflare because you’re exposing your ip address and leaving yourself vulnerable but is it really bad to self host without Cloudflare?
Up to you, cloudflare is a recent thing and hosting was done without it just fine before it came along. Personally I don't use cloudflares proxy very much, I just use it mostly for DNS management.