February 9, 20251 yr Hey everyone, I’m new to Unraid and still trying to wrap my head around how Docker networking works on this platform. I’ve searched the forums but couldn’t find anything that exactly matches my situation, and the YouTube videos I watched didn’t really clear things up either. I’m trying to run AdGuard Home on Unraid, and I keep hitting a wall. Here’s what’s going on: Errors/Logs: cannot assign requested address listen tcp 172.17.0.1:80: bind: cannot assign requested address AdGuard tries to listen on 172.17.0.1:80 and then immediately panics. I’d like it to run on my LAN at 192.168.1.xxx. Network Modes I’ve Tried: Host Mode: Keeps complaining that it can’t bind to port 80 (likely a conflict with Unraid’s Web UI). Also sees 172.17.0.1 in the logs, which is confusing since my Unraid server is at 192.168.1.52. Custom: br0: I tried assigning a static IP (e.g. 192.168.1.53) so AdGuard has its own address. For some reason, it still references 172.17.0.1 or sometimes I see 192.168.0.0/24 pop up, which doesn’t match my 192.168.1.x network. The container won’t fully start and just panics with the same bind error. My Goal: Give AdGuard a dedicated IP on my 192.168.1.x subnet. Avoid conflicts with Unraid’s own Web UI. Route all DNS from Unraid (and maybe my entire home network) through AdGuard. Additional Info: I noticed a warning in the logs about “no upstream specified” and a permissions warning (0755 vs. 0700), but I’m not sure if those are related to the bind error. I’m definitely a noob when it comes to Docker on Unraid, so apologies if I’m missing something simple! If anyone can point me in the right direction—especially regarding how to properly configure the Docker network settings (Host vs. br0 vs. something else) or how to handle the port conflicts—I’d really appreciate it. Thanks in advance for any help you can offer! Attaching complete logs. adguard.txt
February 9, 20251 yr Community Expert To further assist, I would like to know some side additional docker settings. I use macvlan. Since adguard home is a networking tool. I'd recommend you use macvlan as well as macvlan will give the docker a separate mac address which can assist in some communications... Web UI > Setting > Docker: In your case you want option Host access to custom Networks enabled. next we will take a look at your docker network settings... docker network ls My networks in example: NETWORK ID NAME DRIVER SCOPE 294bd63101c7 br0 macvlan local 1e685f2f1e47 bridge bridge local e37597e9f197 host host local 151987bca355 netprobe-net bridge local 339c3f4928fb none null local As I have my own and run custom docker networks... If You want to add others, You should enable the option Preserve User Defined networks. in terms of docker network types as it is all command line I recommend reviewing: As that would be the baseline needed for AdGuard dns settings to function within the docker. It is also recommended to set adguard as a dhcp dns address for all device connected to your router to received it as a dns server. With the array off You may want to specify custom dns settings: It is recommend to have your router gateway, and a public IP you trust examples. google 8.8.8.8, open dns 208.67.222.222, cloudflard 1.1.1.1 Ad Guards was nice enouth to collect and help with known public providers: https://adguard-dns.io/kb/general/dns-providers/?utm_campaign=dns_kb_providers&utm_medium=ui&utm_source=home 100.100.100.100 is tailscales public dns... more info can be found in the unraid docs and on the docker docs: example: https://docs.docker.com/engine/network/drivers/macvlan/ https://docs.unraid.net/unraid-os/manual/docker-management/
February 9, 20251 yr Author Thanks for your help this are my docker settings Not sure if there is something obviously wrong. Also not sure why AdGuard tries to listen on 172.17.0.1:80 also why does it activates at a weird address 2025/02/08 18:36:41.399500 [info] webapi: AdGuard Home is available at the following addresses: 2025/02/08 18:36:41.399507 [info] go to http://172.17.0.1:80 I will look into the videos and see if I can make sense of these settings.
February 9, 20251 yr Community Expert edit your adguard and set the docker network to custom and giv it a ip of 192.168.1.254 as the ip: 172.17.0.1 is apart of teh unraid default docker bridge IP as seen here: running the docker network inspect. I have a docker container ID of 1e...... that is assigned to docker netowrk bridge mode thus it was given a 172.17.0.x address root@Docker:~# docker network inspect bridge [ { "Name": "bridge", "Id": "1e685f2f1e4781d1f5ab80898c601df07dae910d477455447b66ffdb456a03c1", "Created": "2025-02-04T19:28:52.816121314-06:00", "Scope": "local", "Driver": "bridge", "EnableIPv6": false, "IPAM": { "Driver": "default", "Options": null, "Config": [ { "Subnet": "172.17.0.0/16", "Gateway": "172.17.0.1" } ] }, "Internal": false, "Attachable": false, "Ingress": false, "ConfigFrom": { "Network": "" }, "ConfigOnly": false, "Containers": {}, "Options": { "com.docker.network.bridge.default_bridge": "true", "com.docker.network.bridge.enable_icc": "true", "com.docker.network.bridge.enable_ip_masquerade": "true", "com.docker.network.bridge.host_binding_ipv4": "0.0.0.0", "com.docker.network.bridge.name": "docker0", "com.docker.network.driver.mtu": "1500" }, "Labels": {} } ] root@Docker:~# your adguad is set to docker bridge mode and need to be set to a static IP on the subnet. if set to custom and still seeing that ignore the 172.x.x.x address as it is looking and docking as it should on unraid as it is broadcasting over unraid and into the docker default network for dns names. It is better to have it set to a custom br0 network and a static IP edit the docker and set the network to custom br0, eth0, bond 0 (depending on your unraid network settings...) Set adguard to use a custom IP: Example set a static custom IP: Edited February 9, 20251 yr by bmartino1 typo - Data
February 11, 20251 yr Author Solution Thanks so much, I really appreciate your help here. I was able to get a clue form config you shared to look into yaml file, and I deleted/edited the adguard.yaml (/mnt/user/appdata/adguard/config/AdGuardHome.yaml) file and started the service from dashboard. The file got created/fixed this time. Network Type: BridgeHostContainerNoneCustom : br0Custom : wg0 -- wireguard The config looked wrong as: http: pprof: port: 6060 enabled: false address: 172.17.0.1:80 session_ttl: 720h users: It now looks like http: pprof: port: 6060 enabled: false address: 0.0.0.0:80 session_ttl: 720h
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.