coredns: docker compose stack with Vultr zone import
- Auto plugin loads zones-prepared/*.zone (regex zone-name extraction) - scripts/prepare-zones.sh transforms raw Vultr exports: * synthesizes SOA (omitted by Vultr; CoreDNS requires it) * prepends @ to leading-TAB apex lines to disambiguate owner inheritance * dot-terminates NS/MX/CNAME rdata so $ORIGIN doesn't double-suffix - DNS_PORT defaults to 1053 (5353=avahi, 53=libvirt dnsmasq on this host) - Forwards non-authoritative queries to 1.1.1.1/1.0.0.1/9.9.9.9 - Makefile targets: prep, up, down, reload, test, logs - 91 zones loaded
This commit is contained in:
commit
10867ee319
96 changed files with 1732 additions and 0 deletions
20
docker-compose.yml
Normal file
20
docker-compose.yml
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
services:
|
||||
coredns:
|
||||
image: ${COREDNS_IMAGE}
|
||||
container_name: coredns
|
||||
restart: unless-stopped
|
||||
command: ["-conf", "/etc/coredns/Corefile"]
|
||||
ports:
|
||||
- "${DNS_PORT}:53/udp"
|
||||
- "${DNS_PORT}:53/tcp"
|
||||
- "${METRICS_PORT}:9153/tcp"
|
||||
- "${HEALTH_PORT}:8080/tcp"
|
||||
volumes:
|
||||
- ./Corefile:/etc/coredns/Corefile:ro
|
||||
- ./zones-prepared:/zones:ro
|
||||
healthcheck:
|
||||
test: ["CMD", "wget", "-qO-", "http://127.0.0.1:8080/health"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
Loading…
Add table
Add a link
Reference in a new issue