mirror of
https://github.com/mjl-/mox.git
synced 2024-12-26 08:23:48 +03:00
30 lines
925 B
Text
30 lines
925 B
Text
|
FROM --platform=linux/amd64 docker.io/golang:1-alpine AS build
|
||
|
WORKDIR /
|
||
|
ARG moxversion
|
||
|
RUN CGO_ENABLED=0 GOOS=$TARGETOS GOARCH=$TARGETARCH go install -mod mod -trimpath github.com/mjl-/mox@$moxversion
|
||
|
RUN test -f /go/bin/mox && cp /go/bin/mox /bin/mox || cp /go/bin/${TARGETOS}_${TARGETARCH}/mox /bin/mox
|
||
|
|
||
|
# Using latest may break at some point, but will hopefully be convenient most of the time.
|
||
|
FROM --platform=$TARGETPLATFORM docker.io/alpine:latest
|
||
|
WORKDIR /mox
|
||
|
COPY --from=build /bin/mox /bin/mox
|
||
|
|
||
|
# SMTP for incoming message delivery.
|
||
|
EXPOSE 25/tcp
|
||
|
# SMTP/submission with TLS.
|
||
|
EXPOSE 465/tcp
|
||
|
# SMTP/submission without initial TLS.
|
||
|
EXPOSE 587/tcp
|
||
|
# HTTP for internal account and admin pages.
|
||
|
EXPOSE 80/tcp
|
||
|
# HTTPS for ACME (Let's Encrypt), MTA-STS and autoconfig.
|
||
|
EXPOSE 443/tcp
|
||
|
# IMAP with TLS.
|
||
|
EXPOSE 993/tcp
|
||
|
# IMAP without initial TLS.
|
||
|
EXPOSE 143/tcp
|
||
|
# Prometheus metrics.
|
||
|
EXPOSE 8010/tcp
|
||
|
|
||
|
CMD ["/bin/mox", "serve"]
|