Merge pull request #1014 from haxwithaxe/support-docker-links-for-PIHOLE_DNS_dev
Support docker service names and links for PIHOLE_DNS_
This commit is contained in:
commit
d46a1e3356
|
@ -94,7 +94,7 @@ There are other environment variables if you want to customize various things in
|
|||
| Variable | Default | Value | Description |
|
||||
| -------- | ------- | ----- | ---------- |
|
||||
| `ADMIN_EMAIL` | unset | email address | Set an administrative contact address for the Block Page |
|
||||
| `PIHOLE_DNS_` | `8.8.8.8;8.8.4.4` | IPs delimited by `;` | Upstream DNS server(s) for Pi-hole to forward queries to, seperated by a semicolon <br/> (supports non-standard ports with `#[port number]`) e.g `127.0.0.1#5053;8.8.8.8;8.8.4.4` Note: The existence of this environment variable assumes this as the _sole_ management of upstream DNS. Upstream DNS added via the web interface will be overwritten on container restart/recreation |
|
||||
| `PIHOLE_DNS_` | `8.8.8.8;8.8.4.4` | IPs delimited by `;` | Upstream DNS server(s) for Pi-hole to forward queries to, seperated by a semicolon <br/> (supports non-standard ports with `#[port number]`) e.g `127.0.0.1#5053;8.8.8.8;8.8.4.4` <br/> (supports [Docker service names and links](https://docs.docker.com/compose/networking/) instead of IPs) e.g `upstream0;upstream1` where `upstream0` and `upstream1` are the service names of or links to docker services <br/> Note: The existence of this environment variable assumes this as the _sole_ management of upstream DNS. Upstream DNS added via the web interface will be overwritten on container restart/recreation |
|
||||
| `DNSSEC` | `false` | `<"true"\|"false">` | Enable DNSSEC support |
|
||||
| `DNS_BOGUS_PRIV` | `true` |`<"true"\|"false">`| Never forward reverse lookups for private ranges |
|
||||
| `DNS_FQDN_REQUIRED` | `true` | `<"true"\|"false">`| Never forward non-FQDNs |
|
||||
|
|
22
start.sh
22
start.sh
|
@ -127,13 +127,29 @@ if [ -n "${PIHOLE_DNS_}" ]; then
|
|||
change_setting "PIHOLE_DNS_$count" "$i"
|
||||
((count=count+1))
|
||||
((valid_entries=valid_entries+1))
|
||||
else
|
||||
echo "Invalid IP detected in PIHOLE_DNS_: ${i}"
|
||||
continue
|
||||
fi
|
||||
if [ -n "$(dig +short ${i//#*/})" ]; then
|
||||
# If the "address" is a domain (for example a docker link) then try to resolve it and add
|
||||
# the result as a DNS server in setupVars.conf.
|
||||
resolved_ip="$(dig +short ${i//#*/} | head -n 1)"
|
||||
if [ -n "${i//*#/}" ] && [ "${i//*#/}" != "${i//#*/}" ]; then
|
||||
resolved_ip="${resolved_ip}#${i//*#/}"
|
||||
fi
|
||||
echo "Resolved ${i} from PIHOLE_DNS_ as: ${resolved_ip}"
|
||||
if valid_ip "$resolved_ip" || valid_ip6 "$resolved_ip" ; then
|
||||
change_setting "PIHOLE_DNS_$count" "$resolved_ip"
|
||||
((count=count+1))
|
||||
((valid_entries=valid_entries+1))
|
||||
continue
|
||||
fi
|
||||
fi
|
||||
# If the above tests fail then this is an invalid DNS server
|
||||
echo "Invalid entry detected in PIHOLE_DNS_: ${i}"
|
||||
done
|
||||
|
||||
if [ $valid_entries -eq 0 ]; then
|
||||
echo "No Valid IPs dectected in PIHOLE_DNS_. Aborting"
|
||||
echo "No Valid entries dectected in PIHOLE_DNS_. Aborting"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue