[DOCKER][MAIL] User is now created on setup and Dockerfile

Continuation of previous commit
This commit is contained in:
Pastilhas 2020-11-22 22:13:47 +00:00 committed by Hugo Sales
parent aaa6585a1e
commit a27e3593fa
8 changed files with 9 additions and 57 deletions

View File

@ -1,2 +0,0 @@
mail.env
config/*

View File

@ -42,11 +42,10 @@ RUN \
&& chmod +x "/etc/service/rsyslog/run" && chmod +x "/etc/service/rsyslog/run"
# Prepare user # Prepare user
RUN \ RUN mkdir -p "/var/mail/${DOMAINNAME}" \
mkdir -p "/var/mail/${DOMAINNAME}" \ && mkdir -p "/var/mail/${DOMAINPART}/${USER%@*}" \
&& mkdir -p "/var/mail/${DOMAINPART}/${USER@*}" \
&& chown vmail:vmail "/var/mail/${DOMAINNAME}" \ && chown vmail:vmail "/var/mail/${DOMAINNAME}" \
&& chown vmail:vmail "/var/mail/${DOMAINPART}/${USER@*}" && chown vmail:vmail "/var/mail/${DOMAINPART}/${USER%@*}"
# Expose ports # Expose ports
EXPOSE 25 110 143 587 993 995 EXPOSE 25 110 143 587 993 995

View File

@ -1,46 +0,0 @@
[unix_http_server]
file=/tmp/supervisor.sock
[supervisord]
nodaemon=true
user=root
loglevel=warn
[supervisorctl]
serverurl=unix:///tmp/supervisor.sock
user=root
[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
[program:opendkim]
autostart=false
autorestart=true
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
command=/usr/sbin/opendkim -x /etc/mail/opendkim/opendkim.conf
[program:postfix]
autostart=false
autorestart=true
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
command=postfix -c /etc/mail/postfix/postfix.conf
[program:dovecot]
autostart=false
autorestart=true
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
command=dovecot -c /etc/mail/dovecot/dovecot.conf
[program:rsyslog]
autostart=false
autorestart=true
stdout_logfile=/dev/fd/1
stdout_logfile_maxbytes=0
redirect_stderr=true
command=rsyslog -f /etc/mail/rsyslogd/rsyslog.conf

View File

@ -24,6 +24,7 @@ DOMAINNAME=${domain_root}
MAILNAME=${domain} MAILNAME=${domain}
SSL_CERT=/etc/letsencrypt/live/${domain_root}/fullchain.pem SSL_CERT=/etc/letsencrypt/live/${domain_root}/fullchain.pem
SSL_KEY=/etc/letsencrypt/live/${domain_root}/privkey.pem SSL_KEY=/etc/letsencrypt/live/${domain_root}/privkey.pem
USER="${user}@${domain_root}"
EOF EOF
DOMAINNAME="${domain_root}" DOMAINNAME="${domain_root}"
@ -32,7 +33,7 @@ SSL_CERT="/etc/letsencrypt/live/${domain_root}/fullchain.pem"
SSL_KEY="/etc/letsencrypt/live/${domain_root}/privkey.pem" SSL_KEY="/etc/letsencrypt/live/${domain_root}/privkey.pem"
USER="${user}@${DOMAINNAME}" USER="${user}@${DOMAINNAME}"
PASS=$(mkpasswd -m sha-512 -S "" -R 5000 ${pass}) PASSHASH=$(mkpasswd -m sha-512 -S "" -R 5000 ${pass})
# Config postfix # Config postfix
sed -i -e "s#^\s*myhostname\s*=.*#myhostname = ${MAILNAME}#" config/postfix/main.cf sed -i -e "s#^\s*myhostname\s*=.*#myhostname = ${MAILNAME}#" config/postfix/main.cf
@ -50,7 +51,7 @@ sed -i -e "s/^.*#HOSTNAME/${MAILNAME}#HOSTNAME/" config/opendkim/TrustedHosts
# Prepare mail user # Prepare mail user
touch config/aliases config/domains config/mailboxes config/passwd touch config/aliases config/domains config/mailboxes config/passwd
echo "${DOMAINNAME} #OK" >> config/domains echo "${DOMAINNAME} #OK" > config/domains
echo "${USER} ${USER}" >> config/aliases echo "${USER} ${USER}" > config/aliases
echo "${USER} ${DOMAINNAME}/${user}/" >> config/mailboxes echo "${USER} ${DOMAINNAME}/${user}/" > config/mailboxes
echo "${USER}:${PASSHASH}" >> config/passwd echo "${USER}:${PASSHASH}" > config/passwd