maddy

Fork https://github.com/foxcpp/maddy

git clone git://git.lin.moe/go/maddy.git

 1FROM golang:1.23-alpine AS build-env
 2
 3ARG ADDITIONAL_BUILD_TAGS=""
 4
 5RUN set -ex && \
 6    apk upgrade --no-cache --available && \
 7    apk add --no-cache build-base
 8
 9WORKDIR /maddy
10
11COPY go.mod go.sum ./
12RUN go mod download
13
14COPY . ./
15RUN mkdir -p /pkg/data && \
16    cp maddy.conf.docker /pkg/data/maddy.conf && \
17    ./build.sh --builddir /tmp --destdir /pkg/ --tags "docker ${ADDITIONAL_BUILD_TAGS}" build install
18
19FROM alpine:3.21.2
20LABEL maintainer="fox.cpp@disroot.org"
21LABEL org.opencontainers.image.source=https://github.com/foxcpp/maddy
22
23RUN set -ex && \
24    apk upgrade --no-cache --available && \
25    apk --no-cache add ca-certificates
26COPY --from=build-env /pkg/data/maddy.conf /data/maddy.conf
27COPY --from=build-env /pkg/usr/local/bin/maddy /bin/
28
29EXPOSE 25 143 993 587 465
30VOLUME ["/data"]
31ENTRYPOINT ["/bin/maddy", "-config", "/data/maddy.conf"]
32CMD ["run"]