39 lines
590 B
Docker
39 lines
590 B
Docker
FROM golang AS build
|
|
|
|
WORKDIR /
|
|
|
|
COPY go.mod ./
|
|
COPY go.sum ./
|
|
|
|
RUN go mod download
|
|
|
|
COPY *.go ./
|
|
RUN CGO_ENABLED=0 GOOS=linux go build -o rdns .
|
|
|
|
FROM alpine:latest
|
|
|
|
RUN apk --no-cache add ca-certificates
|
|
|
|
WORKDIR /app
|
|
|
|
COPY --from=build /rdns ./
|
|
|
|
RUN touch /app/rdns.zones /app/blocklist.txt
|
|
|
|
ENV ZONES=/app/rdns.zones
|
|
ENV BLOCKLIST=/app/blocklist.txt
|
|
ENV NS=9.9.9.9:1.1.1.1
|
|
ENV TTL=60
|
|
ENV TLS=true
|
|
ENV LOGS=false
|
|
ENV METRICS=false
|
|
|
|
CMD ./rdns --zones $ZONES \
|
|
--blocklist $BLOCKLIST \
|
|
--ns $NS \
|
|
--addr 0.0.0.0 \
|
|
--ttl $TTL \
|
|
--tls=$TLS \
|
|
--logs=$LOGS \
|
|
--metrics=$METRICS
|