Установка Mattermost с использованием Docker Compose
Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Mattermost с использованием Docker Compose.
Mattermost - это открытый исходный код, самостоятельно устанавливаемый онлайн-сервис чата с возможностью обмена файлами, поиском и интеграциями. Он разработан как внутренний чат для организаций и компаний, и в основном позиционируется как альтернатива Slack и Microsoft Teams на базе открытого исходного кода.
💾 Репозиторий, использованный в этом руководстве, можно найти на GitHub.
Мы будем использовать Traefik в качестве reverse proxy. Он будет отвечать за получение криптографических сертификатов для ваших доменных имен от Let’s Encrypt, а также перенаправлять запросы к определенным доменным именам на соответствующие этим доменным именам сервисы.
❗ Важно отметить, что вам потребуются криптографические сертификаты для ваших доменных имен. В моей конфигурации, сертификаты запрашиваются автоматически с помощью Traefik и Let’s Encrypt.
❗ Для получения криптографических сертификатов вам потребуются записи типа A во внешней зоне DNS, которые указывают на IP-адрес вашего сервера, где установлен Traefik. Если вы создали эти записи недавно, следует подождать, прежде чем начать установку сервисов. Полная репликация данных записей между DNS-серверами может занять от нескольких минут до 48 часов или даже больше в редких случаях.
В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.
Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.
Также на сервере должен быть установлен Docker Engine и Docker Compose.
Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав “Установка Docker Engine и Docker Compose на Ubuntu Server”.
Кроме того, на сервер должен быть установлен OpenSSH, а также открыт 22 порт, чтобы иметь возможность подключаться к серверу по протоколу SSH.
Для установки OpenSSH на сервер вы можете воспользоваться командой:
sudo apt install openssh-server
Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.
В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.
💡 Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к сервисам:
- TCP порт 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
- TCP порт 443 - для доступа к веб-интерфейсу Mattermost.
- UDP порт 443 - для обработки безопасных голосовых вызовов внутри Mattermost.
Подключаемся к серверу, на который планируется установить Mattermost.
Теперь необходимо создать сети для ваших служб.
Создаем сеть для Traefik с помощью команды:
docker network create traefik-network
Создаем сеть для Mattermost с помощью команды:
docker network create mattermost-network
Далее нужно клонировать репозиторий, который содержит конфигурационные файлы, которые содержать все необходимые условия для работы Mattermost.
Клонировать репозиторий можно с помощью команды:
git clone https://github.com/heyValdemar/mattermost-traefik-letsencrypt-docker-compose.git
Переходи в директорию с репозиторием с помощью команды:
cd mattermost-traefik-letsencrypt-docker-compose
Далее вам необходимо изменить переменные в файле .env
в соответствии с вашими требованиями.
💡 Обратите внимание, что .env
должен находиться в той же директории, что и mattermost-traefik-letsencrypt-docker-compose.yml
.
Теперь запустим Mattermost с помощью команды:
docker compose -f mattermost-traefik-letsencrypt-docker-compose.yml -p mattermost up -d
Для доступа к панели управления Mattermost необходимо с рабочей станции перейти по ссылке https://mattermost.heyvaldemar.net, где mattermost.heyvaldemar.net — доменное имя моего сервиса. Соответственно, вам необходимо указать свое доменное имя, которое указывает на IP-адрес вашего сервера с установленным сервисом Traefik, который перенаправит запрос к Mattermost.
💡 Обратите внимание, вам нужно указать доменное имя сервиса, заданное ранее в файле .env
.
Далее вам потребуется зарегистрироваться, чтобы начать пользоваться панелью управления Mattermost.
Для доступа к панели управления Traefik необходимо с рабочей станции перейти по ссылке https://traefik.mattermost.heyvaldemar.net, где traefik.mattermost.heyvaldemar.net — доменное имя моего сервиса. Соответственно, вам необходимо указать свое доменное имя, которое указывает на IP-адрес вашего сервера с установленным Traefik.
💡 Обратите внимание, вам нужно указать доменное имя сервиса, заданное ранее в файле .env
.
Указываем имя пользователя и пароль, заданный ранее в файле .env
, и нажимаем на кнопку “OK”.
Добро пожаловать в панель управления Traefik.