Fix Pi-hole v6 LAN DNS mode

This commit is contained in:
juvdiaz 2026-06-29 14:10:50 -06:00
parent 727ab402a3
commit 3e23b794e7
4 changed files with 11 additions and 12 deletions

View File

@ -11,9 +11,10 @@ Kubernetes cluster:
Pi-hole also keeps public fallback upstreams in its config, so DNS can continue
to resolve through `1.1.1.1` and `9.9.9.9` if the Unbound container stops.
For Pi-hole v6, the stack sets `FTLCONF_dns_interface=ALL` through
`PIHOLE_DNS_INTERFACE` so LAN clients such as the Debian control host are not
rejected as non-local networks.
For Pi-hole v6, the stack sets `FTLCONF_dns_interface=ALL` and
`FTLCONF_dns_listeningMode=ALL` through `PIHOLE_DNS_INTERFACE` and
`PIHOLE_DNS_LISTENING_MODE` so LAN clients such as the Debian control host are
not rejected as non-local networks.
The bootstrap script prefers Docker data under `/nvme-storage/docker` only when
that path is an active mount point and writable. If the NVMe is missing or
@ -35,7 +36,7 @@ Useful overrides:
```bash
LAB_RPI_HOST=192.168.100.89 ./jeannie rpi-services
PIHOLE_WEBPASSWORD='<password>' ./jeannie rpi-services
PIHOLE_DNS_INTERFACE=ALL ./jeannie rpi-services
PIHOLE_DNS_INTERFACE=ALL PIHOLE_DNS_LISTENING_MODE=ALL ./jeannie rpi-services
PIHOLE_WEB_PORT=8081 UPTIME_KUMA_PORT=3001 ./jeannie rpi-services
LAB_RPI_STOP_LEGACY_PIHOLE=false ./jeannie rpi-services
```

View File

@ -141,6 +141,7 @@ PIHOLE_DNS_BIND_IP=${PIHOLE_DNS_BIND_IP:-0.0.0.0}
PIHOLE_WEB_BIND_IP=${PIHOLE_WEB_BIND_IP:-0.0.0.0}
PIHOLE_WEBPASSWORD=${PIHOLE_WEBPASSWORD}
PIHOLE_DNS_INTERFACE=${PIHOLE_DNS_INTERFACE:-ALL}
PIHOLE_DNS_LISTENING_MODE=${PIHOLE_DNS_LISTENING_MODE:-ALL}
PIHOLE_UPSTREAMS=${PIHOLE_UPSTREAMS:-unbound#53;1.1.1.1;9.9.9.9}
PIHOLE_DATA_DIR=${PIHOLE_DATA_DIR:-${DATA_DIR}/pihole/etc-pihole}
PIHOLE_DNSMASQ_DIR=${PIHOLE_DNSMASQ_DIR:-${DATA_DIR}/pihole/etc-dnsmasq.d}
@ -254,9 +255,7 @@ for line in useful_lines(static_dhcp_hosts_file):
PY
sudo docker cp "${dnsmasq_file}" "${pihole_container}:/etc/dnsmasq.d/02-homelab-managed-dns.conf"
rm -f "${dnsmasq_file}"
if ! sudo docker exec "${pihole_container}" pihole reloaddns; then
sudo docker restart "${pihole_container}" >/dev/null
fi
}
seed_uptime_kuma_monitors() {

View File

@ -23,6 +23,7 @@ services:
WEBPASSWORD: ${PIHOLE_WEBPASSWORD:-homelab-change-me}
DNSMASQ_LISTENING: all
FTLCONF_dns_interface: ${PIHOLE_DNS_INTERFACE:-ALL}
FTLCONF_dns_listeningMode: ${PIHOLE_DNS_LISTENING_MODE:-ALL}
PIHOLE_DNS_: ${PIHOLE_UPSTREAMS:-unbound#53;1.1.1.1;9.9.9.9}
FTLCONF_dns_upstreams: ${PIHOLE_UPSTREAMS:-unbound#53;1.1.1.1;9.9.9.9}
REV_SERVER: ${PIHOLE_REV_SERVER:-false}

View File

@ -4658,12 +4658,10 @@ status_http_reachable() {
esac
}
status_gitea_public_repo_ok() {
status_gitea_public_ok() {
local root_url="${LAB_GITEA_ROOT_URL:-${LAB_PUBLIC_URL:-https://lab2025.duckdns.org}/git/}"
local repo_owner="${LAB_GITEA_REPO_OWNER:-jv}"
local repo_name="${LAB_GITEA_REPO_NAME:-my-homelab-configs}"
status_http_ok "${root_url%/}/${repo_owner}/${repo_name}/"
status_http_ok "${root_url%/}/user/login"
}
status_cascade_check() {
@ -4855,7 +4853,7 @@ status_cascade_report() {
status_cascade_check "OCI edge SSH" check_edge_ssh || failures=$((failures + 1))
status_cascade_check "Traefik LoadBalancer HTTP" status_http_reachable "http://${LAB_TRAEFIK_LB_IP:-192.168.100.240}/" || failures=$((failures + 1))
status_cascade_check "Website public URL" status_http_ok "${LAB_PUBLIC_URL:-https://lab2025.duckdns.org}/" || failures=$((failures + 1))
status_cascade_check "Gitea public repo URL" status_gitea_public_repo_ok || failures=$((failures + 1))
status_cascade_check "Gitea public login URL" status_gitea_public_ok || failures=$((failures + 1))
if ((failures > 0)); then
printf '\nStatus cascade found %s blocking failure(s).\n' "${failures}" >&2