From: Giorgio Ravera Date: Tue, 23 Dec 2025 17:43:51 +0000 (+0100) Subject: Added PowerDNS X-Git-Url: http://git.giorgioravera.it/?a=commitdiff_plain;h=2ee3ca36332d969c3688a88fb5355afcc70b0264;p=docker.git Added PowerDNS --- diff --git a/powerdns/docker-compose.yaml b/powerdns/docker-compose.yaml new file mode 100644 index 0000000..0b8d3b6 --- /dev/null +++ b/powerdns/docker-compose.yaml @@ -0,0 +1,75 @@ +services: + pdns-auth: + container_name: pdns-auth + image: powerdns/pdns-auth-50:latest + restart: always + #ports: + # - "8081:8081/tcp" + environment: + - TZ=${DOCKER_TZ} + volumes: + - ${DOCKER_CFG_DIR}/powerdns/config/auth.conf:/etc/powerdns/pdns.conf:ro + - ${DOCKER_CFG_DIR}/powerdns/data-auth:/var/lib/powerdns + networks: + proxy: + ipv4_address: 172.18.0.10 + labels: + - "traefik.enable=false" + + pdns-recursor: + container_name: pdns-recursor + #image: powerdns/pdns-recursor-54:latest + image: powerdns/pdns-recursor-52:latest + restart: always + ports: + - "53:53/udp" + - "53:53/tcp" + - "8053:8053/tcp" + depends_on: + - pdns-auth + environment: + - TZ=${DOCKER_TZ} + volumes: + - ${DOCKER_CFG_DIR}/powerdns/config/recursor.yml:/etc/powerdns/recursor.yml:ro + networks: + - proxy + labels: + - "traefik.enable=false" + + powerdns-admin: + image: ngoduykhanh/powerdns-admin:latest + container_name: pdns-admin + ports: + - "9191:80" + depends_on: + - pdns-auth + environment: + - TZ=${DOCKER_TZ} + #- PDNS_API_KEY=supersecret + - PDNS_HOST=pdns-auth + - PDNS_PORT=8081 + user: "953:953" + volumes: + - ${DOCKER_CFG_DIR}/powerdns/data-admin:/data + networks: + - proxy + labels: + - "traefik.enable=true" + # Router: HTTP + - "traefik.http.routers.pdns.entrypoints=http" + - "traefik.http.routers.pdns.rule=Host(`dns.giorgioravera.it`)" + #- "traefik.http.routers.pdns.service=pdns" + - "traefik.http.routers.pdns.middlewares=pdns-https-redirect" + # Router: HTTPS + - "traefik.http.routers.pdns-secure.entrypoints=https" + - "traefik.http.routers.pdns-secure.rule=Host(`dns.giorgioravera.it`)" + - "traefik.http.routers.pdns-secure.tls=true" + - "traefik.http.routers.pdns-secure.service=pdns" + # Middlewares: Redirect http to https + - "traefik.http.middlewares.pdns-https-redirect.redirectscheme.scheme=https" + # Services: Loadbalancer + - "traefik.http.services.pdns.loadbalancer.server.port=80" + +networks: + proxy: + external: true