diff --git a/.github/workflows/build-docker-image.yml b/.github/workflows/build-docker-image.yml index f6a98cb..2335dd0 100644 --- a/.github/workflows/build-docker-image.yml +++ b/.github/workflows/build-docker-image.yml @@ -45,7 +45,7 @@ jobs: - uses: depot/build-push-action@v1 with: context: . - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64,linux/arm64,linux/386,linux/arm/v7 project: 83rwjkn7g4 push: true tags: ${{ steps.meta.outputs.tags }} diff --git a/.tool-versions b/.tool-versions index 3a30b9a..b419699 100644 --- a/.tool-versions +++ b/.tool-versions @@ -1 +1 @@ -rust 1.76.0 +rust 1.75.0 diff --git a/Dockerfile b/Dockerfile index 23c3933..9b0ada4 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,9 +1,10 @@ ## builder -FROM rust:1.76-bookworm AS builder +FROM alpine:3.19 as builder WORKDIR /code/dnsdist-acme # setup build dependencies +RUN apk add rust cargo RUN cargo init . COPY Cargo.toml Cargo.lock ./ RUN cargo build --release @@ -16,21 +17,24 @@ COPY /src/ ./src/ RUN touch ./src/main.rs RUN cargo build --release + ## dnstap -FROM golang as dnstap +FROM alpine:3.19 as dnstap +RUN apk add go RUN go install github.com/dnstap/golang-dnstap/dnstap@v0.4.0 + ## runtime -FROM debian:bookworm +FROM alpine:3.19 as runtime WORKDIR /dnsdist-acme # install runtime dependencies -RUN apt update && apt install -y dnsdist certbot +RUN apk add gcompat certbot dnsdist # copy binary COPY --from=builder /code/dnsdist-acme/target/release/dnsdist-acme /usr/local/bin/dnsdist-acme -COPY --from=dnstap /go/bin/dnstap /usr/bin/. +COPY --from=dnstap /root/go/bin/dnstap /usr/bin/. RUN mkdir -p certs html/.well-known COPY dnsdist.conf dnsdist.conf