46 lines
1.6 KiB
Docker
46 lines
1.6 KiB
Docker
FROM debian:trixie-slim
|
|
|
|
LABEL maintainer="Simon M. Waldburger <simon.waldburger@i-xperts.com>"
|
|
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.source /etc/apt/sources.list.d/postgres.source
|
|
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" ] |