sudo su -
dnf update -y && dnf upgrade -y
dnf install -y dnf-plugins-core curl net-tools traceroute mc git wget
dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
dnf install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker
systemctl enable docker
systemctl daemon-reload
systemctl restart docker
usermod -aG docker yc-user
sudo curl -L "https://github.com/docker/compose/releases/download/v2.17.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
git clone https://github.com/mailcow/mailcow-dockerized /opt/mailcow-dockerized
cd /opt/mailcow-dockerized
./generate_config.sh
Необходимо выбрать "ночные сборки" при генерации файла конфигурации.
cat <<EOF | sudo tee /etc/docker/daemon.json > /dev/null
{
"selinux-enabled": true
}
EOF
systemctl restart docker
docker info | grep selinux
docker compose pull
docker compose up -d
./create_cold_standby.sh
mkdir -p /opt/mailcow-backup
THREADS=14 MAILCOW_BACKUP_LOCATION=/opt/mailcow-backup /opt/mailcow-dockerized/helper-scripts/backup_and_restore.sh backup all --delete-days 3
dc=tx0,dc=ru
(objectClass=inetOrgPerson)(memberOf=cn=post,cn=groups,cn=accounts,dc=tx0,dc=ru)
uid=admin,cn=users,cn=accounts,dc=tx0,dc=ru
ExamplePassword123!
cat <<EOF > /opt/mailcow-dockerized/data/conf/dovecot/ldap/passdb.conf
hosts = ipa-01.tx0.ru
ldap_version = 3
dn = uid=admin,cn=users,cn=accounts,dc=tx0,dc=ru
dnpass = ExamplePassword123!
tls = yes
tls_require_cert = never
base = cn=users,cn=accounts,dc=tx0,dc=ru
auth_bind = yes
pass_filter = (&(objectClass=inetOrgPerson)(uid=%u))
pass_attrs = mail=user,userPassword=password
default_pass_scheme = SSHA
EOF
В интерфейсе FreeIPA создайте группу post и добавьте в неё всех пользователей, которым необходим доступ к почтовому сервису.
Если используется глобальный REALM (например, tx0.ru), дополнительных изменений не требуется.
Если же используется локальный домен, необходимо отредактировать поле почтового адреса у соответствующих пользователей, чтобы оно соответствовало нужному домену.