Deploy from docker image
(certificate should be valid. although frontend nginx has proxy_ssl_verify off;
, STARTTLS still requires a valid certificate. )
(service should be restarted every 3 month, to use latest renewed certificate, just like nginx does. )
docker run -tid --privileged -p 3092:443 -p 110:110 -p 995:995 -p 143:143 -p 993:993 -p 25:25 -p 465:465 -p 587:587 -v /srv/iredmail/vmail:/var/vmail -v /srv/iredmail/mysql:/var/lib/mysql -v /srv/iredmail/clamav:/var/lib/clamav -v /srv/conf/acme-sh/mail.recolic.net/mail.recolic.net.key:/etc/ssl/private/iRedMail.key:ro -v /srv/conf/acme-sh/mail.recolic.net/fullchain.cer:/etc/ssl/certs/iRedMail.crt:ro -v /sys/fs/cgroup:/sys/fs/cgroup:ro --name rmail --restart=always --hostname func.mail.recolic.net 600163736385.dkr.ecr.us-west-2.amazonaws.com/mail.recolic.net /sbin/init
If can not connect database, you need to run chown -R mysql:mysql mysql
inside container. (required if mysql dir are updated. )
Upgrade existing container
If you upgraded mysql version, you must use following code to migrate data, rather than simply copy /var/lib/mysql. see more
mysqldump -u root -p --all-databases > alldb.sql
mysql -u root -p < alldb.sql
Upgrade step:
- export alldb.sql from old iredmail.
- export alldb.sql from new iredmail.
- manually move all userdata from oldiredmail to new iredmail. (take care!!! DB table format may changed!)
- import the manually-modified new-iredmail-alldb.sql into new db, save the resulting /var/lib/mysql directory. Use this as your new mysqlDir!!
DNS record guide
https://docs.iredmail.org/setup.dns.html
How to get DKIM record:
echo -n "v=DKIM1; p="
openssl rsa -in /srv/conf/acme-sh/mail.recolic.net/mail.recolic.net.key -pubout -outform der 2>/dev/null | openssl base64 -A
Create docker image from stretch
YOU MUST CREATE /srv/conf/acme-sh/mail.recolic.net/mail.recolic.net.key and /srv/conf/acme-sh/mail.recolic.net/fullchain.cer BEFORE ANYTHING!
docker run -tid --privileged -p 3092:443 -p 110:110 -p 995:995 -p 143:143 -p 993:993 -p 25:25 -p 465:465 -p 587:587 -v /srv/iredmail/vmail:/var/vmail -v /srv/iredmail/mysql:/var/lib/mysql -v /srv/iredmail/clamav:/var/lib/clamav -v /srv/conf/acme-sh/mail.recolic.net/mail.recolic.net.key:/etc/ssl/private/iRedMail.key:ro -v /srv/conf/acme-sh/mail.recolic.net/fullchain.cer:/etc/ssl/certs/iRedMail.crt:ro -v /sys/fs/cgroup:/sys/fs/cgroup:ro --name rmail --hostname func.mail.recolic.net jrei/systemd-ubuntu /sbin/init
docker exec -ti rmail /bin/bash
In docker:
echo func.mail > /etc/hostname
echo 127.0.0.1 func.mail.recolic.net func.mail localhost localhost.localdomain >> /etc/hosts
apt update
apt install -y gzip vim wget rsyslog
systemctl enable rsyslog --now
wget https://github.com/iredmail/iRedMail/releases/download/1.3.1/iRedMail-1.3.1.tar.gz
tar -xvzf iRedMail-1.3.1.tar.gz ; rm iRedMail-1.3.1.tar.gz
cd iRedMail-* ; bash iRedMail.sh
NOW you have some interactive operations!
no need to edit mail storage path.
recolic note: db password/postmaster password is genpasswd('mail.recolic.net', v4)
Would you like to use filewall rules by iRedMail? NO!
docker commit rmail 600163736385.dkr.ecr.us-west-2.amazonaws.com/mail.recolic.net-20.04
docker push 600163736385.dkr.ecr.us-west-2.amazonaws.com/mail.recolic.net-20.04
Do not delete the generated dir /srv/iredmail
while building image. You need the dir /srv/iredmail/mysql
as template to migrate in.
Create docker image from stretch: Recolic's patch
Recolic made the following patch before publishing as 600163736385.dkr.ecr.us-west-2.amazonaws.com/mail.recolic.net
in PROD. https://git.recolic.net/recolic/notebook#mailrecolicnet
Disable heavy clamav, but do not disable DKIM! https://docs.iredmail.org/completely.disable.amavisd.clamav.spamassassin.html
Disable greylisting, which causes email lost from bankofchina. Also enable reject_sender_login_mismatch. https://docs.iredmail.org/manage.iredapd.html
fix facebook problem. https://docs.iredmail.org/upgrade.iredmail.0.9.9-1.0.html#fixed-fix-improper-helo-rule-which-blocks-new-facebook-servers
allow larger attachment size. https://docs.iredmail.org/change.mail.attachment.size.html
Set session timeout to 99999 min: https://forum.iredmail.org/topic8839-iredmail-support-howwhere-to-increase-timeout-session-via-roundcube.html
Remove clamav filename ban. (grep "exe" -r /etc/amavis
and then remove ALL qr'...'
lines. There's should be no limitation about attachment extension at all! Also remove all $banned_namepath_re
)
Enable ipv6: modify inet_protocols = all
of /etc/postfix/main.cf
, and modify listen = * [::]
of /etc/dovecot/dovecot.conf
. Restart them with /etc/init.d/dovecot restart
and postfix reload
if you want. (Original: https://forum.iredmail.org/topic1968-iredmail-support-enabling-ipv6-for-your-iredmail-postfixdovecot.html)
Fix firstrade proxyvote problem: Comment out reject_unknown_helo_hostname
in /etc/postfix/main.cf , https://forum.iredmail.org/topic12685-helo-command-rejected-host-not-found-whitelist-not-working.html
Leave a Reply