adguard and pihole have trouble installing the right docker network environment, so they get installed into a box with no network portings. or at least, that is what i seem to find until now, but since i cant change network settings or yaml files that keep around, it would be great if you could take a look at that, cause now i'm a bit stuck with npm too :-), it likes his dns
7 replies
Chris wrote:
Thanks for flagging this — I want to pin down the exact symptom before I suggest a fix, because it changes the answer. The usual cause for both of these is that AdGuard and Pi-hole both need the same network port (53) to do their DNS job, so they cannot run side by side. If both are toggled on in the dashboard, the second one comes up with no working ports. Can you open the Apps page and tell me if both are switched on? On the yaml side: those files are rewritten by SparkBox, so hand-editing them will always revert. That is expected, not you doing anything wrong. Tell me which one you are keeping and I will show you the supported way to change its ports.
TestedEcho wrote:
none of them where on at the same moment. now they are both off. with adguard there was an error somewhere in the logs that showed the networking part didnt install, sorry forgot what exactly it said. i was trying to check them both out to see what i liked most, but if i must guess i'll go with adguard because for some reason i think it fits better with nginx
Chris wrote:
Good call — AdGuard it is. Since both are off now, you can bring it up clean: on the Apps page switch AdGuard on and leave Pi-hole off. Those two wanted the same network slot, so only one can ever run at once — with just AdGuard enabled it gets a clean shot at its ports. Once it is up, finish the one-time setup: open http://<your-box-ip:3054 in a browser, pick a username and password, and accept the default Admin port (80) when it asks. After that the AdGuard tile on your dashboard opens it properly, and it keeps working through updates. If it still comes up with no ports, paste me the exact error line from its logs and I will take it from there.
TestedEcho wrote:
Error response from daemon: failed to set up container networking: driver failed programming external connectivity on endpoint sb-adguard (a11219b7789bc0479c57be3b1e3951a4250a1b5e332732b17f350eab479fde27): failed to bind host port 0.0.0.0:53/tcp: address already in use
Chris wrote:
That error line is exactly what I needed — it tells us what's happening, and it's not anything you did wrong. Port 53 is the DNS port, and something already on the box (almost always the NAS's own DNS service) is holding it, so AdGuard can't grab it. SparkBox has a built-in fix for this exact collision. Open a terminal and run: sudo sparkbox update, then sudo sparkbox up. That second step detects the conflict and re-binds AdGuard to your box's LAN address instead of all of them, so the two can live side by side, then starts it cleanly. If the same error comes back, tell me and I'll show you how to set the bind address by hand.
TestedEcho wrote:
I disabled and masked dnsmasq(UGREEN) so that shouldn’t be a problem
Chris wrote:
Good — that frees the port AdGuard needs. Now run sudo sparkbox up again and AdGuard should start cleanly. If it still says port 53 is already in use, dnsmasq is likely still running even though it is masked — restart the NAS once, then run sudo sparkbox up again.