]> git.giorgioravera.it Git - docker.git/commitdiff
Added PowerDNS
authorGiorgio Ravera <xraver@network.giorgioravera.it>
Tue, 23 Dec 2025 17:43:51 +0000 (18:43 +0100)
committerGiorgio Ravera <giorgio.ravera@gmail.com>
Sun, 18 Jan 2026 21:36:11 +0000 (22:36 +0100)
powerdns/docker-compose.yaml [new file with mode: 0644]

diff --git a/powerdns/docker-compose.yaml b/powerdns/docker-compose.yaml
new file mode 100644 (file)
index 0000000..0b8d3b6
--- /dev/null
@@ -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