Продукты Р7
Корпоративный сервер 2024
Корпоративный сервер 2024
Сервер документов
Сервер документов
Редакторы документов
Редакторы документов
Корпоративный сервер 2019
Корпоративный сервер 2019
Графика
Графика
Команда
Команда
Мобильные редакторы
Мобильные редакторы
Почтовый сервер
Почтовый сервер
Органайзер
Органайзер
Сервер лицензирования
Сервер лицензирования
Файл-Экспресс
Файл-Экспресс
Дополнительно
Часто задаваемые вопросы
Разработчикам
Интеграции
Новые возможности

Установка Почтовый сервер 1.4 (docker-compose версия) в связке Postfix/Dovecot/PostgreSQL/API

Инструкция актуальна для версии: 1.4
Обновлено: 20.08.26

1. Что понадобится

  • Сервер: ОС Linux;
  • Домен: ru;
  • Имя почтового сервера: primer-site.ru;
  • IP сервера: 2.3.4.

В дальнейшем замените primer-site.ru на свой домен, а mx1.primer-site.ru на своё имя почтового сервера.

2. Настроить DNS

До установки желательно создать DNS-записи.

A-запись

Создайте:

mx1.primer-site.ru → 1.2.3.4

То есть:

primer-site.ru

└── mx1.primer-site.ru → IP сервера

MX-запись

Для домена:

primer-site.ru

создайте:

primer-site.ru.    MX 10 mx1.primer-site.ru.

Важно: mx1.primer-site.ru должен иметь A-запись на IP сервера.

Настроить PTR

У провайдера/VPS-провайдера установите обратную DNS-запись:

1.2.3.4 → mx1.primer-site.ru

Проверить можно:

dig -x 1.2.3.4

Результат должен содержать:

mx1.primer-site.ru

Важно

Для почтового сервера PTR очень желательно настроить до начала отправки писем.

3. Установить Docker

Если Docker ещё не установлен:

apt update

Затем:

apt install -y docker.io docker-compose

Проверьте:

docker --version

и:

docker-compose --version

Например:

Docker version 26.x.x

docker-compose version 1.x.x

Также включим Docker при загрузке:

systemctl enable --now docker

Проверим:

systemctl status docker

Должно быть:

Active: active (running)

4. Создать каталоги R7 Mailserver

Создайте необходимые каталоги:

mkdir -p /opt/r7/mailserver/ssl

mkdir -p /opt/r7/mailserver/mail

mkdir -p /opt/r7/mailserver/logs

mkdir -p /opt/r7/postgresql/data

mkdir -p /opt/r7/postgresql/logs

В архиве R7 именно эти каталоги используются для хранения данных.

Теперь установите владельца почты:

chown 1100:1100 /opt/r7/mailserver/mail

Проверьте:

ls -ld /opt/r7/mailserver/mail

5. Подготовить SSL-сертификат

Для работы почтового сервера нужны два файла:

mail_cert.pem

mail_key.pem

Положить их нужно сюда:

/opt/r7/mailserver/ssl/

Если у вас Let’s Encrypt

Например:

/etc/letsencrypt/live/mx1.primer-site.ru/fullchain.pem

/etc/letsencrypt/live/mx1.primer-site.ru/privkey.pem

можно скопировать:

cp /etc/letsencrypt/live/mx1.primer-site.ru/fullchain.pem \

   /opt/r7/mailserver/ssl/mail_cert.pem

и:

cp /etc/letsencrypt/live/mx1.primer-site.ru/privkey.pem \

   /opt/r7/mailserver/ssl/mail_key.pem

6. Скачать архив R7 Mailserver

Можно скачать архив непосредственно на сервер:

cd /opt/r7

wget https://download.r7-office.ru/mailserver/mailserver-1.4.zip

7. Распаковать архив

Установите unzip:

apt install -y unzip

Распакуйте:

cd /opt/r7

unzip mailserver-1.4.zip

После этого появится каталог:

/opt/r7/mailserver-1.4/

Там должны быть:

  • .env
  • docker-compose.yml
  • init-database.sh
  • README.md

Именно такие файлы находятся в загруженном вами архиве.

8. Настроить .env

Откройте файл:

nano .env

Сейчас там шаблон:

MY_HOSTNAME=mx1.your-domain.ru

MY_DOMAIN=your-domain.ru

PGSQL_PASSWORD=password

POSTGRES_PASSWORD=password

Например, если ваш домен primer-site.ru, а сервер mx1.primer-site.ru, сделайте:

MY_HOSTNAME=mx1.primer-site.ru

MY_DOMAIN=primer-site.ru

PGSQL_PASSWORD=СЛОЖНЫЙ_ПАРОЛЬ

POSTGRES_PASSWORD=ЕЩЕ_ОДИН_СЛОЖНЫЙ_ПАРОЛЬ
Уточнение

Не используйте эти пароли буквально — придумайте свои.

Если нужен Relay

В .env есть ещё:

#RELAY_DOMAINS=mx1.your-domain.ru

#RELAYHOST=[mx1.your-domain.ru]:25

Если relay вам не нужен, оставьте эти строки закомментированными.

9. Запустить почтовый сервер

Находясь в /opt/r7/mailserver-1.4/mailserver-compose-main, выполните:

docker-compose up -d

Docker начнёт скачивать необходимые образы, это может занять некоторое время.

10. Проверить контейнеры

Выполните:

docker ps

Должны появиться, примерно:

postgres-server

mail-server

opendkim

Все должны иметь статус:

Up

Например:

postgres-server   Up

mail-server       Up

opendkim          Up

11. Проверить открытые порты

R7 Mailserver из docker-compose.yml публикует следующие порты:

ПортНазначение
25SMTP
143IMAP
465SMTPS
587Submission
993IMAPS
8084API

Это непосредственно указано в Compose-файле из архива.

Проверить:

ss -lntp

Можно отдельно:

ss -lntp | grep -E ':25|:143|:465|:587|:993|:8084'

12. Создать первый почтовый ящик

После запуска R7 предоставляет скрипт:

/scripts/create_user.sh

Например, создаём user@primer-site.ru с паролем StrongPassword123!

Команда:

docker exec mail-server /scripts/create_user.sh user@primer-site.ru 'StrongPassword123!'

13. Настроить SPF

Для primer-site.ru создайте TXT:

v=spf1 +a +mx -all

То есть DNS:

primer-site.ru TXT "v=spf1 +a +mx -all"

14. Настроить DKIM

После запуска OpenDKIM получите публичный ключ:

docker exec -it opendkim cat /etc/opendkim/keys/primer-site.ru/dkim.txt

Если домен другой, вместо primer-site.ru используйте свой. Команда выдаст что-то вроде:

"v=DKIM1; k=rsa; " "p=MIGfMA0GCSq..."

В DNS нужно создать TXT-запись с соответствующим DKIM-значением.

Имя записи обычно будет связано с selector, который можно узнать из вывода:

docker exec opendkim find /etc/opendkim/keys -type f

15. Настроить DMARC

Создайте DNS TXT:

_dmarc.primer-site.ru

со значением:

v=DMARC1; p=none; rua=mailto:admin@primer-site.ru

На первом этапе p=none — безопасный вариант для мониторинга.

Была ли эта статья полезной?

Поделитесь пожалуйста своим мнением

      В статье есть ошибкиРекомендации не помоглиТекст трудно понятьСодержание статьи не соответствует заголовкуДругое