# our chosen base image
-FROM debian:11-slim AS builder
+FROM debian:12-slim AS builder
ENV NO_LUA_JIT="s390x arm64"
COPY builder-support /source/builder-support
# TODO: control file is not in tarballs at all right now
-RUN mk-build-deps -i -t 'apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends' /source/builder-support/debian/dnsdist/debian-buster/control && \
+RUN mk-build-deps -i -t 'apt-get -y -o Debug::pkgProblemResolver=yes --no-install-recommends' /source/builder-support/debian/dnsdist/debian-bookworm/control && \
apt-get clean
COPY pdns /source/pdns
RUN mkdir /libh2o && cd /libh2o && \
- apt-get update && apt-get install -y cmake curl libssl-dev zlib1g-dev && \
- curl -f -L https://github.com/PowerDNS/h2o/archive/refs/tags/v2.2.6+pdns2.tar.gz | tar xz && \
- CFLAGS='-fPIC' cmake -DWITH_PICOTLS=off -DWITH_BUNDLED_SSL=off -DWITH_MRUBY=off -DCMAKE_INSTALL_PREFIX=/opt ./h2o-2.2.6-pdns2 && \
- make install
+ apt-get update && apt-get install -y cmake curl jq libssl-dev zlib1g-dev && \
+ cd /source/builder-support/helpers/ && \
+ ./install_h2o.sh
+
+RUN mkdir /quiche && cd /quiche && \
+ apt-get install -y libclang-dev && \
+ apt-get clean && \
+ cd /source/builder-support/helpers/ && \
+ ./install_rust.sh && \
+ ./install_quiche.sh
RUN mkdir /build && \
LUAVER=$([ -z "${NO_LUA_JIT##*$(dpkg --print-architecture)*}" ] && echo 'lua5.3' || echo 'luajit') && \
--enable-dns-over-https \
--with-re2 \
--with-h2o \
+ --enable-dns-over-quic \
+ --enable-dns-over-http3 \
+ --with-quiche \
PKG_CONFIG_PATH=/opt/lib/pkgconfig && \
make clean && \
make $MAKEFLAGS install DESTDIR=/build && make clean && \
- strip /build/usr/local/bin/*
+ strip /build/usr/local/bin/* &&\
+ mkdir -p /build/usr/lib/ && \
+ cp -rf /usr/lib/libdnsdist-quiche.so /build/usr/lib/
+
RUN cd /tmp && mkdir /build/tmp/ && mkdir debian && \
echo 'Source: docker-deps-for-pdns' > debian/control && \
dpkg-shlibdeps /build/usr/local/bin/dnsdist && \
# Runtime
-FROM debian:11-slim
+FROM debian:12-slim
# Reusable layer for base update - Should be cached from builder
RUN apt-get update && apt-get -y dist-upgrade && apt-get clean