1. Установка обновлений.

1.1. Первым делом нужно обновить систему:

# dnf update

2. Устанавливаем Docker и Git.

2.1. Добавляем репозитрий Docker в систему:

# dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

2.2. Перед установкой Docker, нужно удалить пакеты podman и buildah из системы, так как они могут конфликтовать с Docker:

# dnf remove podman buildah

2.3. Теперь устанавливаем Docker следующей командой:

# dnf install docker-ce docker-ce-cli containerd.io git -y

2.4. После окончания установки запускаем демон Docker, и включаем его автозапуск при включении компьютера:

# systemctl start docker.service $ systemctl enable docker.service

2.5. Командой ниже убеждаемся что Docker установлен а так же видим некоторую информацию о текущей версии:

# docker version

3. Устанавливаем Docker-compose.

3.1. Скачиваем последнюю версию Docker-compose и кладем её в /usr/local/bin/ :

$ curl -L https://github.com/docker/compose/releases/download/$(curl -Ls https://www.servercow.de/docker-compose/latest.php)/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose

3.2. Далее делаем скачанный Docker-compose запускаемым:

# chmod +x /usr/local/bin/docker-compose

4. Отключение SELinux.

4.1. На этом этапе отключаем SELinux:

# setenforce 0

Либо:

# sed -i "s/SELINUX=enforcing/SELINUX=disabled/" /etc/selinux/config

Первая команда отключает SELinux до перезагрузки, вторая — навсегда.

В официальной документации рекомендуют не отключать SELinux, а сделать по другому. Для дома я заморачиваться не стал.

5. Скачивание репозитория mailcow.

5.1. Перемещаемся в папку /opt:

# cd /opt

5.2. Далее скачиваем репозиторий:

# git clone https://github.com/mailcow/mailcow-dockerized

6. Создание файла конфигурации.

6.1. Генерируем файл конфигурации:

# cd mailcow-dockerized
# ./generate_config.sh

При необходимости заходим в файл и меняем в нём настройки. На основании этого файла и будут скачаны, установлены и настроены все компоненты необходимы для работы mailcow. В него залезать не обязательно.

7. Сборка образа.

Теперь начинается самое интересное.

7.1. Если всё сделано по инструкции то следующая команда выполниться без проблем:

# docker-compose pull

Если всё прошло удачно то возле всех компонентов вы увидите надпись ….done.

8. Запуск mailcow.

Последнее что осталось это запустить все компоненты:

# docker-compose up -d

Если всё прошло удачно то возле всех компонентов вы также увидите надпись ….done.

9. Открытие страницы.

Теперь можно открыть страницу администрирования https://${MAILCOW_HOSTNAME} с учетными данными по умолчанию:

Имя пользователя: admin

Пароль: moohoo

ВАЖНО!!!! У меня после установки и запуска mailcow открылась страница с надписью: “Подождите идет подготовка базы……” Нужно просто подождать какое-то время. Я ждал примерно 10 минут. Это зависит от сервера на котором разворачиваете mailcow.