Skip to content
Dockerfile 2 KiB
Newer Older
Pierre Ozoux's avatar
Pierre Ozoux committed
FROM pierreozoux/base-email

RUN apt-get update && \
    apt-get install -q -y \
      dovecot-core \
      dovecot-imapd \
      dovecot-lmtpd \
      dovecot-mysql && \
    rm -rf /var/lib/apt/lists/*

root's avatar
root committed
COPY 99-local-lmtp.conf /etc/dovecot/conf.d/99-local-lmtp.conf
Pierre Ozoux's avatar
Pierre Ozoux committed
COPY auth-sql.conf.ext /etc/dovecot/conf.d/auth-sql.conf.ext
COPY dovecot-sql.conf.ext /etc/dovecot/dovecot-sql.conf.ext 
COPY 99-local-auth.conf /etc/dovecot/conf.d/99-local-auth.conf
COPY init.sql /init.sql
COPY startup.sh /startup.sh

RUN \
root's avatar
root committed
  groupadd -r postfix && \
  useradd -r -g postfix postfix && \
Pierre Ozoux's avatar
Pierre Ozoux committed
  chmod u+x /startup.sh && \
  /opt/editconf.py /etc/dovecot/conf.d/10-master.conf \
    default_process_limit=250 && \
  /opt/editconf.py /etc/sysctl.conf \
    fs.inotify.max_user_instances=1024 && \
  /opt/editconf.py /etc/dovecot/conf.d/10-mail.conf \
    mail_location=maildir:/mail/mailboxes/%d/%n \
    mail_privileged_group=mail \
    first_valid_uid=0 && \
  /opt/editconf.py /etc/dovecot/conf.d/10-auth.conf \
    disable_plaintext_auth=yes \
    'auth_mechanisms=plain login' && \
  /opt/editconf.py /etc/dovecot/conf.d/10-ssl.conf \
    ssl=required \
    'ssl_cert=</ssl/ssl_certificate.pem' \
    'ssl_key=</ssl/ssl_private_key.pem' \
    'ssl_protocols=!SSLv3 !SSLv2' \
    'ssl_cipher_list=TLSv1+HIGH !SSLv2 !RC4 !aNULL !eNULL !3DES @STRENGTH' && \
  /opt/editconf.py /etc/dovecot/conf.d/20-imap.conf \
    imap_idle_notify_interval="4 mins" && \
  sed -i "s/#port = 143/port = 0/" /etc/dovecot/conf.d/10-master.conf && \
  sed -i "s/#port = 110/port = 0/" /etc/dovecot/conf.d/10-master.conf && \
  sed -i "s/#*\(\!include auth-system.conf.ext\)/#\1/"  /etc/dovecot/conf.d/10-auth.conf && \
  sed -i "s/#\(\!include auth-sql.conf.ext\)/\1/"  /etc/dovecot/conf.d/10-auth.conf && \
  mkdir -p /mail/mailboxes && \
  chown -R mail:dovecot /etc/dovecot && \
  chown -R mail.mail /mail/mailboxes && \
  chmod -R o-rwx /etc/dovecot && \
  chmod 0600 /etc/dovecot/dovecot-sql.conf.ext

ENTRYPOINT ["/startup.sh"]

root's avatar
root committed
VOLUME ["/var/spool/postfix/dovecot"]
Pierre Ozoux's avatar
Pierre Ozoux committed

EXPOSE 993