Loading Dockerfile 0 → 100644 +12 −0 Original line number Diff line number Diff line FROM debian:bookworm as entrypoint LABEL org.opencontainers.image.title="Dovecot" LABEL org.opencontainers.image.description="A popular mailbox server with LMTP and SASL" LABEL org.opencontainers.image.authors="Dom Sekotill <dom.sekotill@kodo.org.uk>" LABEL org.opencontainers.image.source="https://code.kodo.org.uk/docker/dovecot" LABEL org.opencontainers.image.licenses="(MIT AND LGPv2)" ARG DOVECOT_VERSION=">=1:2.3.19,<<1:2.3.20" RUN --mount=source=install.bash,target=/install /install "${DOVECOT_VERSION}" COPY dovecot.conf /etc/dovecot/ dovecot.conf 0 → 100644 +25 −0 Original line number Diff line number Diff line !include_try /usr/share/dovecot/protocols.d/*.protocol # Default mount location for certificates is */etc/tls* # Certificate chain is expected in *tls.crt* # Private key is expected to be in *tls.key* # These filenames are standard for a Kubernetes TLS secret ssl_cert = </etc/tls/tls.crt ssl_key = </etc/tls/tls.key # These are some good defaults for TLS ssl = required ssl_min_protocol = TLSv1.2 ssl_cipher_list = DEFAULT ssl_prefer_server_ciphers = yes # User-supplied configurations, MAY override settings above !include /etc/dovecot/conf.d/*.conf # Log to stdio log_path = /dev/stderr info_log_path = /dev/stdout # Users set up by Debian package default_login_user = dovenull default_internal_user = dovecot install.bash 0 → 100755 +22 −0 Original line number Diff line number Diff line #!/bin/bash set -eu PACKAGES=( dovecot-mysql dovecot-imapd dovecot-lmtpd ) RESTRICTIONS=() IFS=, for restriction in $1; do RESTRICTIONS+=( "dovecot-core ($restriction)" ) done apt update apt satisfy -y "${RESTRICTIONS[*]}" "${PACKAGES[@]}" mkdir -p /usr/share/dovecot/config # postinstall, remove most configuration rm -r /etc/dovecot/* # Make expected mount points and set ownership and permissions mkdir --mode=0700 /etc/tls chown root:root /etc/tls Loading
Dockerfile 0 → 100644 +12 −0 Original line number Diff line number Diff line FROM debian:bookworm as entrypoint LABEL org.opencontainers.image.title="Dovecot" LABEL org.opencontainers.image.description="A popular mailbox server with LMTP and SASL" LABEL org.opencontainers.image.authors="Dom Sekotill <dom.sekotill@kodo.org.uk>" LABEL org.opencontainers.image.source="https://code.kodo.org.uk/docker/dovecot" LABEL org.opencontainers.image.licenses="(MIT AND LGPv2)" ARG DOVECOT_VERSION=">=1:2.3.19,<<1:2.3.20" RUN --mount=source=install.bash,target=/install /install "${DOVECOT_VERSION}" COPY dovecot.conf /etc/dovecot/
dovecot.conf 0 → 100644 +25 −0 Original line number Diff line number Diff line !include_try /usr/share/dovecot/protocols.d/*.protocol # Default mount location for certificates is */etc/tls* # Certificate chain is expected in *tls.crt* # Private key is expected to be in *tls.key* # These filenames are standard for a Kubernetes TLS secret ssl_cert = </etc/tls/tls.crt ssl_key = </etc/tls/tls.key # These are some good defaults for TLS ssl = required ssl_min_protocol = TLSv1.2 ssl_cipher_list = DEFAULT ssl_prefer_server_ciphers = yes # User-supplied configurations, MAY override settings above !include /etc/dovecot/conf.d/*.conf # Log to stdio log_path = /dev/stderr info_log_path = /dev/stdout # Users set up by Debian package default_login_user = dovenull default_internal_user = dovecot
install.bash 0 → 100755 +22 −0 Original line number Diff line number Diff line #!/bin/bash set -eu PACKAGES=( dovecot-mysql dovecot-imapd dovecot-lmtpd ) RESTRICTIONS=() IFS=, for restriction in $1; do RESTRICTIONS+=( "dovecot-core ($restriction)" ) done apt update apt satisfy -y "${RESTRICTIONS[*]}" "${PACKAGES[@]}" mkdir -p /usr/share/dovecot/config # postinstall, remove most configuration rm -r /etc/dovecot/* # Make expected mount points and set ownership and permissions mkdir --mode=0700 /etc/tls chown root:root /etc/tls