Dumb question regarding Instances port 53 and pihole conflict

When trying to start an Instance it complains that my pihole app is bound to port 53, which Instances needs evidently:

Can I simply go into the pihole app and change its DNS port without any issues? Or do I need to do something else?

Thank you.

Perhaps this would help:

According to a video from STH showcasing the new incus system, this is only required if one is using the incus bridge. If you create and use your own bridge, at least according to the video, this is not required (i did not test it myself)

You need to leave Pi-Hole on port 53 if you expect other DNS clients to find and use it.

I have run into this, with Incus wanting port 53. I suspect (but I have not had time to actually do this fix) I can get Incus to only bind to port 53 on certain interfaces and leave port 53 open for Pi-Hole on the public interfaces. Once I get it working I will post how I do it.

1 Like

Thank you

Sorry for the delay, I finally had time to tackle this today.

  1. Ensure that Instances (Incus) is not using the same IP address that you want to use for Pi-Hole. Instances -> Configuration -> Global Settings, Incus will run a DNS server on port 53 on the configured default global networks.

  1. When you deploy the Pi-Hole App you need to specify three separate networks (address and port) for HTTP user interface, HTTPS user interface, and DNS service. Use a different IP address for Pi-Hole than you used for Instances.

After doing the above, Pi-Hole started just fine and bound only to my LAN on port 53. Technically, it was a Docker proxy that bound to the ports for HTTP/HTTPS/DNS and proxies the traffic to Pi-Hole.

xxx% sudo netstat -apn | grep LISTEN | grep docker-pr
tcp        0      0 192.168.32.37:53        0.0.0.0:*               LISTEN      2131748/docker-prox
tcp        0      0 192.168.32.37:30020     0.0.0.0:*               LISTEN      517825/docker-proxy
tcp        0      0 192.168.32.37:20720     0.0.0.0:*               LISTEN      2131778/docker-prox
xxx%

When specifying the IP you used for PiHole, what determined the IP you selected? Just an available IP on your network? Do I then need to reserve that IP on my router (Dream Machine in this case) as a static IP?

I’ve been asking this question in a couple different Discord forums, but is this the new way things work? Like, is it just mandatory that now you need to configure apps like Pihole, NPM, and Dockge to have their own IPs? Or will they eventually refine Instances so that apps won’t require this degree of configuration just to get up and running?

The IP I used was the one the TrueNAS system was configured with. I did not try to bind to all IPv4 addresses (0.0.0.0) as there is another DNS service running that needs to bind to the internal Docker and Incus networks.

Apologies if this is very basic, I’m just trying to learn. Earlier you said:

Ensure that Instances (Incus) is not using the same IP address that you want to use for Pi-Hole.

How about in this case? How did you select this IP? If my server’s on 192.168.1.50, is 192.168.1.100 fair game if it’s open on my router? Again, do I need to reserve a static IP in this case?

https://apps.truenas.com/managing-apps/installing-apps/#network-configuration might help for a start.

Thank you for sharing this! It solved my problem right before i was about to use the change the incus dns port. good lookin out my friend!