diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..3b9c33b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,19 @@ +FROM python:3.13-alpine + +RUN apk add --update apache2-utils bash +RUN python -m venv /maildump +RUN /maildump/bin/pip install maildump + +ENV MAILDUMP_PASSWORD= +ENV MAILDUMP_HTTP_IP=0.0.0.0 +ENV MAILDUMP_HTTP_PORT=1080 +ENV MAILDUMP_SMTP_IP=0.0.0.0 +ENV MAILDUMP_SMTP_PORT=1025 + +ADD docker/entrypoint.sh / +RUN mkdir /maildump/data +RUN chown 1000 /maildump/data + +USER 1000 + +ENTRYPOINT ["/entrypoint.sh"] diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100755 index 0000000..4abca0e --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +ARGS="--http-ip ${MAILDUMP_HTTP_IP} \ + --http-port ${MAILDUMP_HTTP_PORT} \ + --smtp-ip ${MAILDUMP_SMTP_IP} \ + --smtp-port ${MAILDUMP_SMTP_PORT} \ + -f" + +PASSWORD_FILE=/maildump/data/passwd + +if [[ ! -z $MAILDUMP_PASSWORD ]]; then + htpasswd -bc $PASSWORD_FILE maildump $MAILDUMP_PASSWORD; + /maildump/bin/maildump ${ARGS} --htpasswd $PASSWORD_FILE; +else + /maildump/bin/maildump ${ARGS} +fi