Mattermost – это мессенджер, предназначенный для совместной работы над проектами. Он был создан как альтернатива другим популярным мессенджерам, например, Slack.
Несмотря на свой обширный функционал, Mattermost обладает не всеми возможностями полноценной системы корпоративного общения. Например, не поддерживает видеосвязь.
В данной статье мы расскажем об особенностях Mattermost и покажем как развернуть его на машине, управляемой ОС Debian 11.
Содержание
Краткое описание Mattermost
Ключевой особенностью Mattermost является возможность развернуть его в своей локальной сети (on-prem установка). Данный способ установки обеспечивает безопасную работу системы и позволяет администраторам иметь полный контроль над данными пользователей. Также доступна и облачная версия мессенджера.
Кроме возможности on-prem установки, преимуществом Mattermost также является обширный функционал для взаимодействия в команде:
- Личные и групповые чаты.
- Таск-менеджер (в контексте Mattermost он называется Доски).
- Автоматизация рутинных действий с помощью сценариев (например циклическая отправка сообщения группе пользователей через определённый интервал времени).
Благодаря перечисленным выше преимуществам, Mattermost часто используют в качестве сервиса корпоративного общения.
Альтернатива Mattermost
Помимо известных преимуществ, Mattermost обладает и рядом недостатков. Например, по умолчанию он не поддерживает видео и аудиозвонки – функционал, который в ряде случаев упрощает коммуникацию в разы. Чтобы добавить такие возможности, администратор сервера Mattermost должен установить и настроить дополнительный плагин.
Обычно для этого выбирают плагин от Jitsi – сервиса ВКС, работающего на базе технологии WebRTC. В простых случаях это решение работает, однако оно не обеспечит вас полноценной корпоративной видеосвязью. В Jitsi нет многих необходимых возможностей, например:
- Проводить конференции можно только в одном режиме: когда все участники видят и слышат друг друга. Альтернативные режимы, например селекторный, отсутствуют.
- Нет возможности запланировать мероприятие на определённые дату и время.
- Ограниченный функционал управления раскладкой видеоокон.
- Нет поддержки звонков по протоколам SIP/H.323 по умолчанию (требуется установка дополнительного ПО).
- Отсутствует возможность тонкой настройки прав пользователей.
В качестве полноценной системы корпоративной видеосвязи можно рассмотреть TrueConf Server. Он поддерживает обширные возможности:
- Проведение конференций в разных режимах: все на экране, автоселектор, управляемый селектор, видеоурок.
- Настройка регистрации для гостей публичных конференций, защита конференций PIN-кодом.
- Личные и групповые чаты с возможностью отправки файлов, пересылки и форматирования сообщений.
- Звонки по протоколам SIP/H.323, а также подключение к RTSP-трансляциям (других конференций или потоков с IP-камер).
- Интеграция со службами каталогов по протоколу LDAP (Microsoft Active Directory, OpenLDAP и пр.).
- Расширенные возможности для крупных компаний с множеством серверов видеосвязи: единое адресное пространство, резервирование, балансировка нагрузки и т.п.
TrueConf Server предназначен для локальной установки, благодаря чему ваши данные и мероприятия будут защищены от доступа снаружи корпоративной сети. Подробнее об обеспечении безопасности читайте в нашей статье.
Таким образом, выбрав TrueConf Server вы получите надёжную и функциональную систему корпоративных коммуникаций, которая не потребует трудоёмкой установки множества дополнительных модулей.
Установка Mattermost на Debian
Требования к системе
Сервер Mattermost может быть установлен в следующие ОС:
- Ubuntu 18.04+
- Debian 10+
- CentOS 6+
- RedHat Enterprise Linux 7+
- Oracle Linux 6+
Поддерживаются следующие СУБД:
- MySQL 5.7.12, 8.0.12+
- PostgreSQL 11.0+
Требования к вычислительным мощностям сильно зависят от предполагаемой нагрузки. К примеру, серверу, на котором работает до 1 000 активных пользователей, будет достаточно 1 ядра vCPU и 2 гигабайт ОЗУ. В случае если на сервере от 1 до 2 тысяч активных пользователей, то потребуется хотя бы 2 ядра vCPU с 4 гигабайтами ОЗУ.
Процесс установки
Существует несколько способов развернуть сервер Mattermost на своей машине. Мы воспользуемся одним из самых простых и надёжных: с помощью ПО для контейнеризации Docker. Помимо него, нам понадобится инструмент Docker Compose.
Как уже было сказано выше, установку будем производить в ОС Debian 11.
Для того чтобы проверить, установлен ли Docker, в терминале выполните команду:
1 |
docker -v |
При необходимости, установите Docker и Docker Compose, как показано в шагах 1 и 2 из другой нашей статьи.
sudo
, либо в режиме суперпользователя (для перехода в этот режим выполните команду su-
и введите root-пароль).
-
Клонируйте репозиторий Mattermost себе на компьютер и перейдите в директорию с ним:
12git clone https://github.com/mattermost/dockercd docker
-
Здесь будет файл
env.example
– это шаблон с переменными окружения, необходимыми Mattermost для работы. Скопируйте его содержимое в файл под названием.env
:1cp env.example .envВ данном шаблоне уже прописаны все необходимые значения. Однако если вам понадобится изменить какие-либо настройки, то откройте файл .env и поменяйте значение нужной переменной окружения.
Описания переменных окружения можно посмотреть на сайте Mattermost. Эти описания разбиты по разделам, в зависимости от настраиваемых параметров. Также в самом .env файле к каждому блоку с переменными есть комментарий, описывающий назначение блока.Например, чтобы изменить порт, который прослушивает сервер Mattermost, укажите его в переменной
APP_PORT
:Также стоит отметить, что если для обращения к серверу Mattermost вы будете использовать доменное имя – то его обязательно надо записать в переменнуюDOMAIN
. -
Создайте нужные для работы Mattermost директории:
1mkdir -p ./volumes/app/mattermost/{config,data,logs,plugins,client/plugins,bleve-indexes}
-
В качестве владельца каталога
mattermost
задайте пользователя/группу с UID/GID равными 2000/2000 соответственно (это User ID и Group ID внутри Docker-контейнера, от лица которых будут выполняться команды).Каталогmattermost
будет содержать настройки вашего сервера и все его данные.1chown -R 2000:2000 ./volumes/app/mattermost -
Далее необходимо запустить Docker-контейнер с Mattermost. Команда запуска будет отличаться в зависимости от того, хотите ли вы использовать веб-сервер NGINX в качестве прокси для Mattermost, или нет (данный веб-сервер включен в Docker-контейнер по умолчанию и будет запускаться в нём вместе с Mattermost). Использование прокси-сервера NGINX повысит безопасность работы Mattermost. Реальные адрес и порт чат-сервера будут скрыты, благодаря чему его станет невозможно взломать. Также на стороне NGINX можно настроить фильтрацию подозрительных запросов, балансировку нагрузки и многое другое. Однако прокси-сервер предварительно нужно настроить, подробнее об этом читайте здесь.
Запуск без NGINX в качестве прокси:
1docker compose -f docker-compose.yml -f docker-compose.without-nginx.yml up -dЗапуск с NGINX в качестве прокси:
1docker compose -f docker-compose.yml -f docker-compose.nginx.yml up -dВ случае, если вы хотите чтобы ваш сервер Mattermost работал по HTTPS, у вас есть 2 варианта:1. Настроить HTTPS на стороне сервера Mattermost
2. Настроить HTTPS на стороне прокси-сервера NGINX (при его использовании)У обоих вариантов есть свои плюсы и минусы, подробнее читайте на сайте Mattermost.
-
Mattermost установлен и запущен. Теперь необходимо зарегистрировать учётную запись администратора сервера. Для этого откройте браузер и перейдите по адресу:
http://your.address:port
Вместо
your.address
подставьте IP-адрес машины, на которой развёрнут Mattermost, либо используемое доменное имя.Вместо
port
подставьте порт, который указан в переменнойAPP_PORT
вашего.env
файла (по умолчанию это 8065). - На открывшейся странице заполните форму создания аккаунта и нажмите кнопку Create Account:
- Откроется страница, на которой вам будет предложено создать команду (это сущность, в рамках которой будут создаваться чаты, доски и т.д.). Также с этой страницы вы сразу можете перейти в админ панель Mattermost, для этого нажмите кнопку Go to System Console.
-
После этого вы окажетесь в панели управления сервером Mattermost. Здесь вы можете добавить учётные записи пользователей вашего сервера.
Для того чтобы пользователь вашего сервера смог зайти в свой аккаунт, ему надо будет перейти по адресу:
http://mattermost.server.address:mattermost.server.port
где
mattermost.server.address
– адрес или домен машины, на которой развёрнут Mattermost, аmattermost.server.port
– порт, который прослушивает чат-сервер.В случае, если вы используете прокси NGINX, ваши пользователи должны указывать адрес и порт прокси-сервера соответственно.