postfix-smtp-relay/Dockerfile

53 lines
1.8 KiB
Docker

#
# simple postfix smtp relay
#
FROM alpine:3.13
# standardized labels
LABEL author="Asif Bacchus <asif@bacchus.cloud>"
LABEL maintainer="Asif Bacchus <asif@bacchus.cloud>"
LABEL org.label-schema.schema-version="1.0"
LABEL org.label-schema.docker.cmd=""
LABEL org.label-schema.description="Simple postfix smtp mail relay on Alpine."
LABEL org.label-schema.url="https://git.asifbacchus.app/ab-docker/postfix-smtp-relay"
LABEL org.label-schema.usage="https://git.asifbacchus.app/ab-docker/postfix-smtp-relay"
LABEL org.label-schema.vcs-url="https://git.asifbacchus.app/ab-docker/postfix-smtp-relay.git"
# install packages and clean-up
RUN apk --no-cache add \
ca-certificates \
postfix \
bind-tools \
&& rm -f /var/cache/apk/*
EXPOSE 25
HEALTHCHECK --interval=30s --timeout=5s --start-period=30s --retries=3 CMD [ "/usr/sbin/postfix", "status" ]
# set environment variables
ENV TZ=Etc/UTC
ENV LOCAL_HOSTNAME=""
ENV LOCAL_DOMAINNAME=""
ENV LOCAL_ENCRYPTION=false
ENV SMARTHOST=""
ENV SMARTHOST_PORT=587
ENV SMARTHOST_USERNAME=""
ENV SMARTHOST_PASSWORD=""
ENV SMARTHOST_ENCRYPTION="OPTIONAL"
# copy configuration snippets
COPY main.cf.insert /tmp/main.cf.insert
COPY entrypoint.sh /usr/local/bin/entrypoint.sh
# set entrypoint and default command
ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ]
CMD [ "/usr/sbin/postfix", "start-fg" ]
# set parameters, vendor, version and build-date labels
LABEL org.label-schema.docker.params="TZ=Etc/UTC, HOSTNAME=(container hostname), DOMAINNAME=(derived from hostname), LOCAL_ENCRYPTION=false|optional|true, SMARTHOST=..., SMARTHOST_PORT=587, SMARTHOST_USERNAME=..., SMARTHOST_PASSWORD=..., SMARTHOST_ENCRYPTION=optional|false|true"
LABEL org.label-schema.vendor="Alpine 3.13, Postfix 3.5.10-r0"
LABEL org.label-schema.version="1.0"
ARG BUILD_DATE
LABEL org.label-schema.build-date=${BUILD_DATE}