mailcow
Описание
Комбинация докеризированных сервисов для отправки и получения почтовых писем.
Данная инструкция может быть не актуальна, рекомендуется сверятся с официальной документацией.
Предварительная настройка
Настройка DNS
DNS должен быть настроен в соответсвии с .MYAFFETTA.RU Почта
Настройка портов
| Сервис | Протокол | Порт | Контейнер | Переменная | Описание |
|---|---|---|---|---|---|
| Postfix SMTP | TCP | 25 | postfix-mailcow | ${SMTP_PORT} | |
| Postfix SMTPS | TCP | 465 | postfix-mailcow | ${SMTPS_PORT} | |
| Postfix Submission | TCP | 587 | postfix-mailcow | ${SUBMISSION_PORT} | |
| Dovecot IMAP | TCP | 143 | dovecot-mailcow | ${IMAP_PORT} | |
| Dovecot IMAPS | TCP | 993 | dovecot-mailcow | ${IMAPS_PORT} | |
| Dovecot POP3 | TCP | 110 | dovecot-mailcow | ${POP_PORT} | |
| Dovecot POP3S | TCP | 995 | dovecot-mailcow | ${POPS_PORT} | |
| Dovecot ManageSieve | TCP | 4190 | dovecot-mailcow | ${SIEVE_PORT} | |
| Nginx Reverse Proxy HTTP | TCP | 80 | reverse-proxy | ||
| Nginx Reverse Proxy HTTPS | TCP | 443 | reverse-proxy |
удостовериться что порты не используются другими программами:
ss -tlpn | grep -E -w '25|80|443|110|143|443|465|587|993|995|4190'
или:
netstat -tulpn | grep -E -w '25|80|443|110|143|443|465|587|993|995|4190'
Установка
Шаг 1:
перейти в папку docker
cd /путь/к/репозиторию/docker/
Шаг 2:
склонировать репозиторий mailcow
git clone https://github.com/mailcow/mailcow-dockerized
Шаг 3:
перейти в папку mailcow-dockerized
cd mailcow-dockerized/
Шаг 4:
сделать символьные ссылки файлов из mailcow-modifications в mailcow-dockerized
ln -s ../mailcow-modifications/docker-compose.override.yml ./docker-compose.override.yml
Шаг 5:
скопировать mailcow.conf.example из mailcow-modifications в mailcow-dockerized, изменить настройки по необходимости и заполнить пустые поля паролей (или взять mailcow.conf из бэкапа)
cp ../mailcow-modifications/mailcow.conf.example ./mailcow.conf
TODO:необходимо отключать поддержку IPv6, так как она ломает функционирование спам фильтра, причина: сервер не имеет IPv6 адреса и не может добстучатся до антиспам сервисов
Шаг 5:
сделать шагсимвольные ссылки прфайлов из mailcow-modifications в mailcow-dockerized
docker-compose.override.yml нужен для отключения IPv6 и подключения ipv6контейнеров к обратному прокси
ln -s ../mailcow-modifications/docker-compose.override.yml ./docker-compose.override.yml
extra.cf нужен для отключения IPv6
cd data/conf/postfix/
ln -s ../../../../mailcow-modifications/extra.cf ./extra.cf
cd ../../../
Шаг #:6:
отключить IPv6 в unbound-mailcow
изменить data/conf/unbound/unbound.conf и установить do-ip6 на "no":
nano data/conf/unbound/unbound.conf
server:
[...]
do-ip6: no
[...]
Шаг 7:
запустить mailcow
docker compose up -d