Have been working on a truenas box with items I already own before I buy some real hardware and make a proper nas box.
For various apps that run as servers (eg, Pi-Hole, Ubiquiti Controller, Ad Guard), etc. my understanding is that each service should be getting its own IP address from DHCP of the router. Is that correct?
For instance for DNS server from Pihole, I can get the ap installed on the Truenas Box no problem but am unsure how to have it get an IP address I can give to the router to reach out for DNS resolution.
No, that is not the way they work (under SCALE, at least; you don’t specify which version you’re using); they all share the IP of the server and use their own ports. For the vast majority of apps, and the vast majority of users, this doesn’t impose any real limitations. But if you’d like separate IPs anyway, the feature request Lars mentions would be the place to vote for that feature.