Init Commit
This commit is contained in:
46
Dockerfile
Normal file
46
Dockerfile
Normal file
@@ -0,0 +1,46 @@
|
||||
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" ]
|
||||
Reference in New Issue
Block a user