FROM debian:trixie-slim LABEL maintainer="Simon M. Waldburger " LABEL last_changed="2025-10-09" RUN apt-get update && \ apt-get -y upgrade && \ apt-get install -y curl ca-certificates locales && \ localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8 && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* ADD https://www.postgresql.org/media/keys/ACCC4CF8.asc /etc/apt/keyrings/postgres-pub.asc ADD build/postgres.sources /etc/apt/sources.list.d/postgres.sources ADD https://repo.powerdns.com/FD380FBB-pub.asc /etc/apt/keyrings/powerdns-pub.asc ADD build/pdns.sources /etc/apt/sources.list.d/pdns.sources ADD build/pdns.preferences /etc/apt/preferences.d/pdns RUN chmod 644 /etc/apt/keyrings/powerdns-pub.asc && \ apt-get update && \ echo "path-include /usr/share/doc/*/*.sql" >> /etc/dpkg/dpkg.cfg.d/docker && \ DEBIAN_FRONTEND=noninteractive apt-get install -q -y pdns-server pdns-backend-pgsql postgresql-client-18 && \ rm /etc/powerdns/pdns.d/*.conf && rm /etc/powerdns/*.conf && \ apt-get clean && \ rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/* USER root RUN mkdir -p /app COPY build/entrypoint.sh /app/entrypoint.sh COPY build/pdns.conf.tpl /app/pdns.conf.tpl RUN chmod 755 /app/entrypoint.sh /app/wait-for-it.sh RUN chown -R pdns: /app ENV VERSION=4.9 \ PDNS_guardian=yes \ PDNS_setuid=pdns \ PDNS_setgid=pdns \ PDNS_launch=gpgsql EXPOSE 8081 53 53/udp HEALTHCHECK --interval=10s --timeout=10s --retries=3 --start-period=2s CMD ["pdns_control", "ping"] ENTRYPOINT [ "/docker-entrypoint.sh" ] CMD [ "/usr/sbin/pdns_server" ]