Skip to content
Snippets Groups Projects
Select Git revision
  • master default
1 result

Dockerfile

Blame
  • Dockerfile 1.50 KiB
    FROM docker.io/buildpack-deps:bookworm as delete_to_trash
    # hadolint ignore=DL3008,DL3015
    RUN apt-get update && \
        DEBIAN_FRONTEND=noninteractive  apt-get install -y dovecot-dev && \
        git clone https://github.com/pali/dovecot_deleted_to_trash && \
        make -C dovecot_deleted_to_trash
    
    FROM docker.io/debian:bookworm-slim
    # hadolint ignore=DL3008
    RUN apt-get update && \
        DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
            dovecot-ldap \
            dovecot-lmtpd \
            dovecot-imapd \
            dovecot-sieve \
            patch \
            ssl-cert \
            time \
        && \
        install -d -m 777 -o mail -g mail /var/lib/dovecot/sieve.d && \
        rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/*
    COPY --from=delete_to_trash /dovecot_deleted_to_trash/lib_deleted_to_trash_plugin.so /usr/lib/dovecot/modules/
    COPY --from=delete_to_trash /dovecot_deleted_to_trash/95-deleted_to_trash_plugin.conf /etc/dovecot/conf.d/
    COPY --chown=root:root entrypoint /entrypoint
    COPY patch.diff /root/
    RUN patch --strip 0 --verbose --directory /etc/dovecot --input /root/patch.diff && \
        doveconf
    COPY --chown=mail:mail *.sieve /var/lib/dovecot/sieve.d/
    # hadolint ignore=DL4006
    RUN find /var/lib/dovecot/sieve.d/ -type f -name '*.sieve' -print0 | xargs -0n1 sievec -d
    VOLUME /var/mail
    VOLUME /run/dovecot
    EXPOSE 993 25
    ENV TLS_DHPARAMS_FILE /usr/share/dovecot/dh.pem
    ENTRYPOINT [ "/entrypoint" ]
    CMD [ "dovecot", "-F" ]
    HEALTHCHECK --start-period=5m CMD doveadm service status || exit 1