feat: add ENABLE_DOCKER_DNS env var for service discovery

Adds configurable Docker embedded DNS (127.0.0.11) passthrough for
container service name resolution. Enabled by default to support
typical Docker Compose use cases.
This commit is contained in:
2025-12-01 18:26:10 -06:00
parent 314ee9dbe6
commit eea68dbdd0
2 changed files with 8 additions and 0 deletions

View File

@@ -12,12 +12,14 @@ setup_env() {
DNS_SERVERS="${DNS_SERVERS:-8.8.8.8,8.8.4.4}"
RUN_SELFTEST="${RUN_SELFTEST:-false}"
IPSET_TIMEOUT="${IPSET_TIMEOUT:-600}" # 10 minutes default
ENABLE_DOCKER_DNS="${ENABLE_DOCKER_DNS:-true}" # Enable Docker embedded DNS for service discovery
echo "--- Configuration ---"
echo "DNS Servers: $DNS_SERVERS"
echo "Allowed Domains: $ALLOWED_DOMAINS"
echo "IPSet Timeout: $IPSET_TIMEOUT seconds"
echo "Run Selftest on start: $RUN_SELFTEST"
echo "Docker DNS (127.0.0.11): $ENABLE_DOCKER_DNS"
}
# --- Domain Parsing ---
@@ -130,6 +132,11 @@ log-queries
filter-AAAA
EOF
# Add Docker embedded DNS for service discovery if enabled
if [[ "$ENABLE_DOCKER_DNS" == "true" ]]; then
echo "server=127.0.0.11" >> /etc/dnsmasq.conf
fi
# Add server and ipset entries for all domains
for domain in "${!DOMAIN_PORTSET[@]}"; do
echo "server=/${domain}/${PRIMARY_DNS}" >> /etc/dnsmasq.conf