mirror of
https://github.com/docker-mailserver/docker-mailserver.git
synced 2024-01-19 02:48:50 +00:00
ee0d0853dd
Courier and Cyrus Sasl have been removed and substituted with Dovecot which now handle authentication for Postfix, Imap and Pop3, with support for SSL. This allow the use of several encryption schemes for the password as well as a single user db. OpenDKIM keys can now be provided at the startup and will be used instead of generating new ones (so that you don't have to change your DNS configuration). This version builds correctly on Docker but no integration tests have been reworked to accommodate Dovecot instead of Courier and Cyrus Sasl. As such at present no automatic tests can be executed.
70 lines
2.4 KiB
Docker
70 lines
2.4 KiB
Docker
FROM ubuntu:14.04
|
|
MAINTAINER Thomas VIAL
|
|
|
|
# Packages
|
|
RUN apt-get update -q --fix-missing
|
|
RUN apt-get -y upgrade
|
|
RUN DEBIAN_FRONTEND=noninteractive apt-get -y install vim postfix dovecot-core dovecot-imapd dovecot-pop3d \
|
|
supervisor gamin amavisd-new spamassassin clamav clamav-daemon libnet-dns-perl libmail-spf-perl \
|
|
pyzor razor arj bzip2 cabextract cpio file gzip nomarch p7zip pax unzip zip zoo rsyslog mailutils netcat \
|
|
opendkim opendkim-tools opendmarc curl fail2ban
|
|
RUN apt-get autoclean && rm -rf /var/lib/apt/lists/*
|
|
|
|
# Configures Dovecot
|
|
RUN sed -i -e 's/include_try \/usr\/share\/dovecot\/protocols\.d/include_try \/etc\/dovecot\/protocols\.d/g' /etc/dovecot/dovecot.conf
|
|
ADD dovecot/auth-passwdfile.inc /etc/dovecot/conf.d/
|
|
ADD dovecot/10-*.conf /etc/dovecot/conf.d/
|
|
|
|
# Enables Spamassassin and CRON updates
|
|
RUN sed -i -r 's/^(CRON|ENABLED)=0/\1=1/g' /etc/default/spamassassin
|
|
|
|
# Enables Amavis
|
|
RUN sed -i -r 's/#(@| \\%)bypass/\1bypass/g' /etc/amavis/conf.d/15-content_filter_mode
|
|
RUN adduser clamav amavis
|
|
RUN adduser amavis clamav
|
|
RUN useradd -u 5000 -d /home/docker -s /bin/bash -p $(echo docker | openssl passwd -1 -stdin) docker
|
|
|
|
# Enables Clamav
|
|
RUN chmod 644 /etc/clamav/freshclam.conf
|
|
RUN (crontab -l ; echo "0 1 * * * /usr/bin/freshclam --quiet") | sort - | uniq - | crontab -
|
|
RUN freshclam
|
|
|
|
# Configure DKIM (opendkim)
|
|
RUN mkdir -p /etc/opendkim/keys
|
|
ADD postfix/TrustedHosts /etc/opendkim/TrustedHosts
|
|
# DKIM config files
|
|
ADD postfix/opendkim.conf /etc/opendkim.conf
|
|
ADD postfix/default-opendkim /etc/default/opendkim
|
|
|
|
# Configure DMARC (opendmarc)
|
|
ADD postfix/opendmarc.conf /etc/opendmarc.conf
|
|
ADD postfix/default-opendmarc /etc/default/opendmarc
|
|
|
|
# Configures Postfix
|
|
ADD postfix/main.cf /etc/postfix/main.cf
|
|
ADD postfix/master.cf /etc/postfix/master.cf
|
|
ADD bin/generate-ssl-certificate /usr/local/bin/generate-ssl-certificate
|
|
RUN chmod +x /usr/local/bin/generate-ssl-certificate
|
|
|
|
# Get LetsEncrypt signed certificate
|
|
RUN curl https://letsencrypt.org/certs/lets-encrypt-x1-cross-signed.pem > /etc/ssl/certs/lets-encrypt-x1-cross-signed.pem
|
|
RUN curl https://letsencrypt.org/certs/lets-encrypt-x2-cross-signed.pem > /etc/ssl/certs/lets-encrypt-x2-cross-signed.pem
|
|
|
|
# Start-mailserver script
|
|
ADD start-mailserver.sh /usr/local/bin/start-mailserver.sh
|
|
RUN chmod +x /usr/local/bin/start-mailserver.sh
|
|
|
|
# SMTP ports
|
|
EXPOSE 25
|
|
EXPOSE 587
|
|
|
|
# IMAP ports
|
|
EXPOSE 143
|
|
EXPOSE 993
|
|
|
|
# POP3 ports
|
|
EXPOSE 110
|
|
EXPOSE 995
|
|
|
|
CMD /usr/local/bin/start-mailserver.sh
|