August 9, 20232 yr Unraid 6.12.3 I have several docker containers running apps that I want to be able to access by domain name instead of IP:Port. I do not need to access these services outside my home network as I have a Wireguard tunnel between my phone, laptop, tablet and the server itself. I can't seem to find a consensus regarding the best way to accomplish this. I have a Raspberry Pi running Adguard Home as DNS #1 server and a fallback instance as #2 in a docker on the Unraid server as well as AGH sync propagating any settings I change on 1 to 2. I know that AGH has DNS rewrite functionality in it, but it won't accept the port, only IP address. I've read a bit on writing out custom DNS in it but it is not making sense to me. Same issue in Pihole, which I used to run. You can specify an IP, but not port. Next I looked into reverse proxies like Nginx Proxy Manager, Caddy, and SWAG. Again, if this *is* the correct way to do it, I'm not understanding the method to make it work. Most of the tutorials I have found are referencing stuff you'd access outside of your network. I do own some domains through Porkbun with Cloudflare name servers. But again I can't get it to work. I'm not understanding the correct way. And I'm trying to find a setup where I can type "overseer.mydomain.com" instead of IP:port without it needing to route out of my network to Cloudflare then back (if that is even possible). Having SSL certs for the services would be cool but not a deal breaker if I can just get the DNS -> IP:port to work. Any suggestions?
August 9, 20232 yr 2 hours ago, Father_Redbeard said: Again, if this *is* the correct way to do it, I'm not understanding the method to make it work. It is. You set up your dns so that all domains you want resolve to the ip of where NPM runs on, then in NPM you setup hosts so that domain maps to the desired ip:port. Edited August 9, 20232 yr by Kilrah
August 9, 20232 yr Author 2 hours ago, Kilrah said: It is. Yeah, I generally understand that to be the case. But I'm running into issues getting it to work. I know I'm likely missing something very obvious, but again, the tutorials I find online are related to exposing apps to the internet which I have no desire to do. The primary DNS server is the AGH instance at 192.168.1.2, but NPM is running on the Unraid box at 192.168.1.200. I already have AGH server IP in my router's DNS server setting and it is working for adblocking at a DNS level. What am I putting where? NPM has several tabs and types of hosts I can set, but I'm not 100% sure where to go to get it working. Same thing with Adguard Home's DNS Rewrite. I was able to put a DNS rewrite that responds to <tower>.local with the IP 192.168.1.200 and I'm at the server login page. But AGH doesn't allow for port numbers in that setting. Do I need the same server to be primary DNS since it has both NPM and the various apps I want access to by domain?
August 10, 20232 yr I don't know adguard (I use pihole) but if you decide on "tower.local" as a domain name you need to tell it that *.tower.local is 192.168.1.200. Then on npm you enter a proxy host that'll be e.g. "cloud.tower.local", that'll redirect to 192.168.1.200:whateverport. NPM needs to be running on ports 80/443 on the unraid box, so you'll typically want to either move unraid's UI to other ports.
August 23, 20232 yr Author Popping back in to at least divulge what my hang up on this was. NPM official wants to install on br0 network so it can use port 80/443 (I guess). My issue was because NPM could not communicate with any other docker on bridge, host, or a custom docker network I created. I could not figure out how to get the communication to work until I stumbled on the option: Settings -> Docker -> Host Access to custom Networks: Enabled Now NPM can communicate with each of the other containers and I'm able to setup local DNS names for each app I want as well as give them a wildcard cert via Let's Encrypt In my research I only saw references that "if it can't talk to the other containers, it won't work" in the NPM Official thread. But now how to go about fixing it. The above setting works.
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.