# Mattermost. Часть 2. Начало работы и базовые настройки
В первой части инструкции по работе с корпоративным мессенджером Mattermost мы установили его на нашем сервере, создали базу данных, в которой будут храниться все материалы мессенджера и запустили его.
В этой части мы начнём работу с приложением, познакомимся с базовыми настройками, создадим первую команду.
Итак, Mattermost установлен на нашем сервере, запущен и правильно функционирует. Переходим к его настройке!
# Начало работы
Чтобы начать работу, зайдите в браузер и в адресной строке укажите адрес вашего сервера server_ip:8065 и номер порта, на котором работает Mattermost.
Первый вход в Mattermost осуществляется от имени администратора. Укажите свою электронную почту, имя и пароль для входа.
После входа вы можете сразу же перейти к созданию новой команды или начать работу с базовой настройки Mattermost. Новую команду мы создадим позже, начнём с базовых настроек сервера. Для этого нажимаем Go To System Console .
# Основные настройки
# Настройка подключения к сети
Начнём настройку с указания URL-адреса, по которому пользователи будут попадать на наш Mattermost-сервер. Это можно сделать в разделе меню Environmetn в пункте Web Server .
Здесь же можно указать номер порта, который прослушивает Mattermost, задать перенаправление запросов с порта 80 на 443 и подключить TLS-сертификаты (можно использовать уже имеющийся сертификат или настроить получение сертификата от Let’s Encrypt).
Эти настройки мы не будем изменять, поскольку в следующей части инструкции настроим Nginx в качестве обратного прокси для Mattermost и весь трафик будем пропускать через него.
# Хранилище файлов
Здесь же, в разделе Environment в пункте File Storage укажем путь хранения всех материалов нашего мессенджера.
Для этого выберем Local File System и укажем путь, по которому будет размещаться наше хранилище файлов.
Папка, в которой будут храниться эти файлы должна существовать на сервере и быть доступной для записи. Ранее специально для этого мы создали директорию
data и передали пользователю mattermost все права на управление этой папкой. Именно её мы и указываем здесь
# Локализация
В разделе SITE CONFIGURATION можно настроить правила использования языков пользователями.
Здесь можно выбрать язык для системных сообщений и язык, выбранный для пользователей по умолчанию. Это удобно сделать сразу же, чтобы затем каждому пользователю вручную не переназначать язык.
# Настройка уведомлений
Здесь же можно настроить уведомления для мессенджера — отправку e-mail с уведомлениями, требования к подтверждению своих действий в чате, где больше 5 человек и т.д.
# Регистрация
Установить права доступа к мессенджеру можно в разделе меню Authentication в пункте Signup
Здесь можно отключить регистрацию для случайных посетителей Enable Open Server , запретить пользователям приглашать других пользователей через инвайты по e-mail Enable Email Invitations и даже полностью запретить регистрацию новых пользователей с почтовыми ящиками на определённом домене Restrict new system and team members to specified email domains .
Также в разделе Authentication можно настроить правила использования e-mail при регистрации, проверку пароля на соответствие определённым требованиям, разрешить авторизацию через Gitlab и многое другое.
Перейдём к созданию новой команды!
# Создание новой команды
Mattermost позволяет добавлять зарегистрировавшихся пользователей в различные команды, в зависимости от решаемых ими в данный момент задач.
Создадим первую команду. Для этого перейдём в раздел создания команды. Это можно сделать со стартовой страницы или из консоли управления сервером, выбрав пункт Team Selection в выпадающем меню
Этот пункт вернёт нас на окно выбора, в котором выбираем пункт Create Team .
Далее следует простой диалог из двух пунктов, в которых нам предлагают выбрать название для новой команды и задать url-адрес, по которому будет доступна новая команда
После создания новой команды, мы попадаем на стартовую страницу работы с ней
Здесь сразу же доступно два общих канала, для всех зарегистрированных пользователей «Off-Topic» и «Town Square».
Основное управление командой — от смены имени до приглашения новых пользователей и настройки прав доступа — производится через выпадающее меню
# Заключение
В этой статье мы описали базовые операции по первичной настройке и началу работы с Mattermost. Этой информации должно хватить для начала работы, понимания основных принципов функционирования мессенджера и представления о его возможностях.
Изучить более тонкие настройки и получить ответы на возникшие вопросы можно на официальном сайте приложения.
Установка и настройка mattermost — форк корпоративного мессенджера slack
В поисках хорошего корпоративного чата некоторое время назад я наткнулся на mattermost. При ближайшем знакомстве оказалось, что это бесплатная альтернатива Slack. Я знаком с разными бесплатными корпоративными мессенджерами, но mattermost понравился больше всего. В этой статье я хочу рассказать, как установить и настроить mattermost на Centos 7.
Посмотреть подробно, что такое mattermost можно на официальном сайте. Если кратко, то это форк платного мессенджера Slack. Я не очень знаком с историей развития последнего, поэтому не знаю, когда и при каких условиях от него отпочковался бесплатный аналог. Похоже, исходники слака в какое-то время были доступны, и благодаря этому у него появились бесплатные аналоги.
Mattermost не единственный бесплатный аналог Slack. Я лично тестировал еще один — rocket.chat. Сейчас не готов предметно и основательно их сравнивать, так как не помню подробностей, но рокет чат мне понравился значительно меньше. В целом, все менее качественно, локализация была не очень, ну и функционал победнее по сравнению с mm. Когда я их сравнивал вместе, установив одновременно, mattermost мне понравился больше, поэтому решил пользоваться им.
Так же я подробно знакомился с сервером MyChat. По ссылке подробная статья и мой личный отзыв и впечатления после тестирования. В целом, продукт неплохой при цене ниже, чем платная версия mattermost, а функционал шире.
Рассмотрю еще один момент — зачем, собственно, нужны какие-то мессенджеры, когда есть skype, telegram, viber и другие бесплатные и популярные программы для общения. Тот, кто использовал указанные выше аналоги в реальной работе коллектива в 20-30 человек, думаю прекрасно себе представляет, в чем тут могут быть проблемы. Пройдусь по основным моментам:
- Skype последнее время стал сильно глючить и потреблять много ресурсов. Реально он был когда-то хорошим инструментом для коллективной работы, но теперь перестал им быть. В любой момент с очередным обновлением он может перестать работать или начать жестко глючить. Исправления можно ждать неделю — две. Помню из недавнего — примерно две недели после обновления история путалась в окне чата по датам. Более старые сообщения были ниже, чем новые. К тому же skype постоянно крутит рекламу, пожирает ресурсы, причем непонятно на что. Он стал очень прожорлив. Иногда глючит передача файлов, приходится пересоздавать профиль.
- Второй недостаток всех публичных мессенджеров — нет централизованного управления аккаунтами. Системному администратору неудобно управлять учетками — заводить новые, менять пароли и т.д. Плюс, они часто привязаны к мобильнику. Человек увольняется и забирает с собой свою учетку со всей историей. Это очень неудобно и в какой-то момент при росте коллектива становится проблемой.
- Нет управления историей. Она вся хранится в учетных записях пользователя. Если он ее удалит, случайно или специально, нет возможности восстановить. В какой-то момент это становится важно при интенсивной и ответственной работе.
Этот список на основе моего опыта работы небольших коллективов с различными мессенджерами. Кстати, наиболее простым и функциональным решением для корпоративного чата мне долгое время казалось решение на основе openfire. И только после знакомства с mattermost я стал потихоньку его внедрять в работу. Кратко расскажу о его достоинствах и недостатках, которые заметил я. Сначала достоинства:
- Сервер mattermost представляет из себя приложение, которое вы устанавливаете на своем сервере. То есть это закрытое решение, которое полностью под вашим контролем. Вы можете как угодно ограничивать к нему доступ на уровне сервера.
- Централизованное управление учетными записями. Администратор без проблем управляет всеми учетками — создает, блокирует, меняет пароли, выдает доступы и т.д.
- Централизованное хранение истории на вашем личном сервере в базе данных mysql. Можете ее хранить сколько угодно долго, бэкапить, восстанавливать, читать при необходимости.
- Удобная передача файлов прямо в чате. При этом файлы хранятся у вас на сервере сколь угодно долго.
- Приятный и понятный дизайн. Чат выглядит абсолютно одинаково через отдельное приложение, либо через браузер. Где пользоваться чатом каждый выбирает на свое усмотрение.
Теперь недостатки mattermost:
- Нет возможности распределить людей по группам. Это очень неудобно. Если у вас человек 30 и вам нужно кому-то отправить личное сообщение, придется искать его в общем списке любо вручную, либо с помощью поиска. Мне не понятно, почему такой простой и очевидный функционал отсутствует. Частично можно выйти из положения, создав для каждой группы отдельный чат, а в списке пользователей конкретного чата выбирать нужного человека. Тем не менее это не так удобно, как просто отдельные группы в общем списке.
- Мобильное приложение ужасно, и пользоваться им невозможно. Оно глючит, виснет и ничем не отличается от мобильной версии в браузере. То есть по сути мобильное приложение это самодельный браузер для http версии. Пользоваться приложением нет никакого смысла. Частично исправляет ситуацию то, что в мобильной версии браузера чат выглядит неплохо, пользоваться удобно. Но через браузер не будет push уведомлений.
- Нет подтверждения прочтения сообщения, как, например, в telegram. Считаю это очень удобной фичей, привыкнув к которой, трудно смириться с ее отсутствием.
- Много полезных и необходимых настроек только в платной версии. Например, интеграция с AD или другим ldap сервером. Возможность ограничить создание каналов обычными пользователями тоже существует только в платной версии. В бесплатной же каждый волен насоздавать сколько угодно каналов и вы не можете запретить это делать.
Вот пожалуй и все. Если с мобильной версией еще можно смириться, лично мне она не нужна, то списка юзеров и подтверждения прочтения мне не хватает. Тем не менее, что-то лучше, чем mattermost за бесплатно я не знаю. Буду рад, если кто-то поделится информацией на эту тему. Возможно, какой-то интересный и функциональный корпоративный мессенджер прошел мимо меня.
Подготовка к установке
Устанавливать mattermost будем на сервер под управлением CentOS 7. Если у вас еще нет готового сервера, можете воспользоваться моими руководствами по установке и настройке centos.
Далее нам понадобится web сервер с mysql. Я предпочитаю управлять базой данной mysql с помощью phpmyadmin, поэтому рекомендую мою статью на эту тему — установка phpmyadmin на CentOS 7. Там я подробно рассмотрел момент подготовки web сервера и установки непосредственно phpmyadmin. Далее я кратко выполню необходимые команды, а вы сами можете более подробно ознакомиться с процессом настройки по указанной выше ссылке.
Устанавливаем http, php, mariadb (аналог mysql сервера).
Запускаем все это хозяйство и добавляем в автозагрузку.
Устанавливаем пароль root для mariadb.
Пройдите по адресу http://ip-сервера/ и проверьте, что веб сервер нормально работает. Если вы не читали мою статью по настройке сервера, то убедитесь, что у вас либо настроен, либо отключен firewall. Подробнее об этом рассказано в моей статье — настройка iptables. Рассмотрение настройки фаервола выходит за рамки данной статьи, поэтому просто покажу, как быстро отключить firewalld. Если вы тестируете чат, вам нет смысла заморачиваться с настройкой.
Теперь установим phpmyadmin, предварительно подключив epel репозиторий. Подробнее о репозиториях читайте отдельно.
Редактируем конфиг /etc/httpd/conf.d/phpMyAdmin.conf и разрешаем доступ с любого ip к phpmyadmin. Если вам это не надо, то откройте только для конкретного ip.
Заменяем параметры директории /usr/share/phpMyAdmin/ на следующие значения.
Заходим по адресу http://ip-сервера/phpmyadmin/ и проверяем, что панель нормально работает.
Установка mattermost
Все подготовительные действия сделали, приступаем к установке mattermost. Я воспользуюсь инструкцией с официального сайта. Но, как это обычно бывает, если следовать только ей, то ничего не получится Во время установки будет как минимум одна ошибка, которую нужно будет исправить. В целом я более подробно и доступно распишу весь процесс. Если кому-то что-то будет не понятно, он может с вериться с официальным руководством по установке.
Идем в phpmyadmin и создаем там пользователя mattermost, указав также создать одноименную базу и выставить новому пользователю полные права на нее.
Качаем исходники севрера. Для этого идем на страничку https://about.mattermost.com/download/ и копируем ссылку на последнюю версию. На момент написания этой статьи, последняя версия mattermost была 4.5.0.
Распаковываем архив и переносим его в директорию /opt.
Создаем директорию для хранения файлов, которые будут передавать пользователи через чат.
Создаем отдельного пользователя для запуска сервера и доступа к папкам.
Редактируем конфигурационный файл, указывая там доступ к базе данных mysql.
Находим строку с DataSource и изменяем параметры подключения.
mattermost | Имя пользователя и базы данных mysql. В моем случае это одно и то же слово. |
12345678 | Пароль пользователя mysql mattermost. |
localhost | IP адрес mysql сервера. В данном случае это тот же сервер, где я выполняю установку. |
По идее все готово. Пробуем запустить сервер.
Я стабильно в этот момент получаю ошибку:
При этом делаю все в соответствии с инструкцией на сайте. Ошибка понятна и легко исправляется. Mattermost при создании таблиц в базе данных создает их типа Innodb, а ему надо MyISAM. Я не вдавался в подробности, почему так происходит. Возможно это как-то связано с настройками базы данных по-умолчанию. Мы просто изменим тип уже созданных таблиц. Для этого идем в phpmyadmin, открываем там базу данных mattermost и выполняем sql запрос.
Этот запрос сформирует нам список команд для изменения каждой таблицы. Я это сделал, чтобы не вручную менять тип каждой таблицы по отдельности. Отображаем полные строки получившихся команд и копируем их все.
Должен получиться такой набор SQL команд.
Выполняем их все сразу так же в базе mattermost. После этого все таблицы должны стать MyISAM.
Снова запускаем сервер.
Если все в порядке, то должны увидеть такой вывод. Сервер успешно стартовал на порту 8065. Создадим файл для управления и запуска сервера как службы через systemctl. Останавливаем сервер по ctrl+c в консоли и создаем файл.
Делаем его исполняемым.
Перезапускаем службу systemd.
Разрешаем запуск службы mattermost, добавляем ее в автозагрузку и запускаем.
Проверяем, запустился ли сервер.
Все в порядке, сервер повис на порту 8065. Правда почему-то на ipv6, но по ipv4 тоже отвечает. Открываем в браузере страничку с чатом. В моем случае ее адрес такой — http://192.168.13.25:8065. На этом установка корпоративного мессенджера mattermost закончена. Приступаем к настройке.
Настройка mattermost
При первом заходе в чат по указанному ранее адресу, вы попадаете на страницу создания учетной записи администратора. Указывайте ваш емейл, имя пользователя и пароль. Далее вам предлагают создать команду — team. В данном случае это что-то вроде отдельного изолированного чата. На сервере может быть несколько независимых друг от друга тимов со своими пользователями и комнатами. Можно создать team позже, а сначала перейти в консоль и сделать несколько полезных настроек.
Здесь я рекомендую сразу настроить авторизацию на smtp сервере для отправки уведомлений. Без них полноценной работы чата не получится. Работать все будет, но без оповещений, а они иногда бывают полезны. Например, если пользователь в оффлайне, а ему пишут личное сообщение, он может быть уведомлен об этом по почте. Считаю это полезным функционалом.
Так что идем в раздел NOTIFICATIONS -> Email, указываем там Enable Email Notifications — true и дальше заполняем необходимые настройки, которые будут отличаться в зависимости от того, каким почтовым сервером вы будете пользоваться.
Далее укажите язык по-умолчанию для всех пользователей, чтобы не пришлось его потом менять у каждого по отдельности. Для этого идем в раздел GENERAL -> Localization и выбираем нужные языки.
Так же рекомендую обратить внимание на настройку подтверждения email адреса. Она по-умолчанию выключена. Лично мне так удобнее, я ее не включаю. Когда сервер закрытый и все учетные записи создает администратор, подтверждение email не нужно. Но если у вас пользователи сами создают свои учетки, то лучше включить подтверждение, иначе при ошибке в указании почтового адреса, уведомления приходить не будут.
Делается эта настройка в разделе SECURITY -> Signup, пункт Require Email Verification. Здесь же еще одна важная настройка — Enable Open Server. По умолчанию она стоит в режиме false. Это значит, что пользователь просто так не сможет зарегистрироваться, если перейдет по публичному адресу сервера, в данном случае http://192.168.13.25:8065. Там просто не будет ссылки на регистрацию. Для регистрации, ему необходимо получить ссылку от администратора сервера, у которого она будет отдельная для каждой team.
Не забудьте в разделе FILES-> Storage указать путь к каталогу хранения файлов — /opt/mattermost/data.
Теперь создадим одну team. Для этого нажимаем на ссылку Team Selection.
Нажимаем на ссылку Create a new team, указываем название и ссылку для входа в данную команду.
После этого мы попадаем в только что созданную команду. Если вы решили отключить публичную регистрацию, то для регистрации пользователя вам надо получить ссылку. Она находится в меню пользователя администратора.
Так как это первый пользователь, и он был создан еще до изменения настроек языка, его меню на английском языке. Исправить это можно в настройках аккаунта.
Перевод адекватный, ляпов я не заметил, можно пользоваться.
Остальные настройки можете сами пробежать, просмотреть. Их не много, все достаточно понятно. Создавайте пользователей, каналы для них, приватные комнаты и т.д. В общем, изучайте самостоятельно функционал, ничего особенного там нет. Упомяну еще несколько настроек, которые я делаю пользователям. На мой взгляд, с ими удобнее. Все параметры указываются в настройках аккаунта.
- В разделе Общие указываю реальные ФИО человека.
- В разделе Вид ставлю 24 часовой формат времени и отображение имени в команде в виде ФИО.
- Там же ставлю Вид отображения сообщений — компактный. Так больше информации умещается на экране. Настройка на любителя.
- Рекомендую заглянуть в раздел Уведомления. Возможно вам захочется изменить настройки по-умолчанию.
Вот в общем и все, что я обычно делаю. Настройка сервера и учетной записи закончена. Можно добавлять юзеров и начинать пользоваться.
Установка приложения mattermost на компьютер
Я рекомендую все настройки учетной записи делать сразу после создания через браузер. А затем можно ставить пользователю приложение и заходить в нужную команду. Все настройки будут сохранены, а учетная запись полностью готова к работе. Скачать приложение можно по ссылке с сайта программы. Если забудете адрес, его всегда можно посмотреть в самом чате.
После установки необходимо подключиться к нужной команде. Для этого надо использовать свою учетную запись и ссылку на конкретную команду, которая формируется в момент создания. В моем случае подключение настраивается так.
Дальше вводите логин и пароль и начинаете пользоваться.
В процессе эксплуатации я встречал мелкие баги, поэтому рекомендую следить за выходом новых версий. Проект активно развивается и периодически выходят новые версии как клиента, так и сервера. Не забывайте обновляться.
Все основные моменты рассказал. Сервер мы настроили, пользователей добавили. Корпоративным чатом можно пользоваться. Но если вы хотите опубликовать его в интернете и использовать публичный доступ, то я расскажу вам как это красиво и аккуратно сделать. До кучи добавим сертификат на доменное имя.
Проксирование чата mattermost через nginx
Вы можете напрямую разместить сервер mattermost в интернете, указать ему использовать 80-й порт вместо 8065 и ничего не делать. Это будет простой, но плохой вариант. Сами разработчики не рекомендуют так делать, а предлагают настроить в качестве frontend веб сервер nginx. Сделаем это и мы. В итоге у нас получится аккуратный поддомен mm.serveradmin.ru, который будет работать по https. В таком виде сервер не стыдно и интернету показать.
Так как работать дальше будем с nginx, httpd нужно будет отключить. Он нам нужен был только для быстрой настройки phpmyadmin. Больше нам настраивать нечего, так что отключаем его.
Вместо него установим nginx. По большому счету, это можно было сделать сразу, но я поленился, так как phpmyadmin под апачем настроить проще и быстрее. Добавляем репозиторий nginx.
Запускаем и добавляем в автозагрузку.
Убеждаемся, что он работает, перейдя по ip адресу сервера в браузере. Рисуем файл конфигурации для проксирования mattermost.
Сохраняем конфигурацию в файле. В данном случае я использую бесплатный сертификат от популярного сервиса Let’s encrypt. Я не буду сейчас рассказывать, как получить от них сертификат. В интернете очень много статей на эту тему. Можете воспользоваться, к примеру, вот этим руководством моего знакомого — https://sevo44.ru/ssl-besplatnyj-dlja-sajta-nginx.
Удалим стандартную конфигурацию nginx. Вместо нее будет использоваться наша.
Проверяем конфигурацию nginx и перезапускаем его.
Теперь чат будет доступен по адресу https://mm.serveradmin.ru, при этом будет работать переадресация с http на https. В данном случае имя домена вымышленное, так что по ссылке ничего открываться не будет.
На этом все, установка и настройка бесплатного мессенджера mattermost завершена. Получилось вполне функциональное и законченное решение.
Обновление mattermost
С момента написания статьи прошло некоторое время, и вышла новая 4-я версия сервера. Я расскажу, как обновить сервер 3-й версии до последней на текущий момент версии mattermost 4.5.0. При обновлении любого продукта необходимо делать резервные копии. Сделаем и мы, отдельно директорию с самим сервером и базу данных.
Копируем директорию с файлами.
Бэкапим mysql базу.
Теперь можно смело обновляться. Если что-то пойдет не так, можем быстро откатиться на старую версию. Скачиваем и распаковываем свежую версию сервера.
Удаляем старую папку с сервером и копируем на ее место новую.
Копируем из бэкапа конфиг, загруженные файлы и логи.
Делаем владельцем директории с новой версией системного пользователя mattermost.
Запускаем сервер и проверяем работу.
С обновлением mattermost все. Можно заходить и проверять изменения. Не забудьте обновить версию клиента. Хотя старая все равно будет работать, но в новой будет расширен функционал и исправлены баги.
Заключение
Я привел реальный пример использования бесплатного корпоративного чата в своей практике. Чат удобный, функциональный, легко и быстро настраивается. Можно без проблем передать администрирование чата после настройки обычному сотруднику, который через админку будет управлять командами и пользователями. Внимание к себе чат почти не просит, работает надежно и стабильно. В общем, получился неплохой продукт. Рекомендую обратить на него внимание и попробовать. Если у кого есть еще удачные примеры подобных чатов, делитесь информацией в комментариях.
Открываем Business Box: Mattermost и его возможности
При необходимости организовать работу удаленной команды всегда возникает потребность в мессенджерах. Не всегда удобно вести обмен сообщениями через привычные Telegram, Skype, Viber. Главная причина в необходимости разделить личную и рабочую переписку.
Что же делать в ситуации, когда нужна полноценная рабочая среда, в которую не будут иметь доступа посторонние? Лучший вариант — арендовать собственный VPS сервер и установить на него сервисы из пакета Business Box.
В наборе инструментов есть и опенсорсный корпоративный мессенджер Mattermost.
Разберем его возможности и преимущества.
Mattermost: опенсорсный мессенджер для вашей компании
В наборе Business Box мы собрали несколько инструментов, без которых работа географически разделенной команды будет неэффективной. Один из них — бесплатный мессенджер Mattermost.
Этот инструмент будет отличной альтернативной Slack. Минимальный тариф Business Box обходится меньше, чем тариф Slack от 6,67 USD ежемесячно при оплате за год.
Mattermost позволяет создать общее пространство для коммуникации с быстрым поиском информации, доступом к документам, которые вам нужны. Мессенджер легко установить на сервер компании. А если использовать его в комплекте c другими инструментами Business Box, вы получите полноценную рабочую среду для реалиции любых сложных проектов.
Возможности Mattermost похожи на функционал Slack. Опенсорсный инструмент также позволяет:
экспортировать историю переписки;
настраивать персональные уведомления и упоминания пользователей;
создавать каналы для приватной и публичной переписки.
Перейти со Slack на Mattermost очень просто. Вы можете перенести данные пользователей и полную историю переписки.
Использовать Mattermost можно с ноутбука и мобильного устройства. Также можно настроить push-уведомления о задачах, добавить бота с набором команд.
В мессенджере есть три вида каналов:
публичные (для всех желающих);
приватные (по приглашению);
личные (переписка тет-а-тет или группой до трех человек).
Функционал мессенджера
Коммуникация внутри команды. По функционалу Mattermost не уступает другим мессенджерам для командной работы.
Общение в публичных каналах и через прямые сообщения. В рабочей среде можно создавать публичные каналы и отправлять частные сообщения. Есть поддержка Markdown, что позволяет форматировать сообщения в чате и описание канала. Однажды отправленный файл может загрузить любой пользователь чата.
Командные чаты. Вы можете добавлять неограниченное количество команд для всей компании и ее отделов. Также можно создавать командные чаты для отдельных проектов.
Комментирование. Любое сообщение можно закомментировать несколько раз. Это избавляет от необходимости объяснять, на какое именно сообщение вы отвечаете.
Выводы
Использование Mattermost в комплекте с другими инструментами из Business Box позволяет быстро обмениваться информацией, рабочими документами и продуктивно работать над проектами.
Использование Business Box избавляет от необходимости самостоятельно устанавливать и настраивать ПО. Внедряйте инструменты для дистанционной работы и повышайте продуктивность экономя при этом время и деньги.
Mattermost и Powershell — огромная сила, или малая автоматизация своими силами
Сразу оговорюсь — я работаю в компании, которая напрямую с IT не связана, поэтому бюджет именно на IT у нас небольшой. Соответственно многие программы и связанные с ними удобства нам недоступны, поэтому приходится делать как умеем. А когда в компании помимо IT отдела есть несколько сотен пользователей, которые с трудом отличают монитор от мышки — работа становится как отдельный квест.
Поэтому написанное мною будет скорее полезно админам в небольших компаниях.
Многие (или не многие) слышали о таком прекрасном инструменте как Mattermost.
Для тех, кто не слыхал — это такой Slack, но только self-hosted. Внутри компании общий чат вообще наиполезнейшая штука.
Ставится элементарно, при желании очень просто прикрутить бота (я, например, использую Hubot), на который можно завернуть всякого рода оповещения о задачах из редмайна или мониторинга, да и автоматизировать некоторые бизнес-процессы, которые можно завернуть в сценарий вопрос-ответ дорогого стоит.
Всем удобен этот чатик, но есть одно одно но. На самом деле не одно, но отсутствие нормального структурированного списка пользователей просто убивает. Можно, конечно, использовать Openfire+Miranda, но наличие у Mattermost клиента для телефонов с возможностью push-уведомления перевешивает все эти минусы. Так как количество пользователей не десяток, количество отделов тоже не два, то иногда возникает вопрос — а кто же сегодня работает на рецепции в удаленном филиале? Кто из них онлайн? Как красиво и доступно донести до обычного пользователя эту информацию в одном месте — тот еще вопрос. Рисовать развесистое дерево вариантов запросов и ответов для чатбота — развлечение еще то, поэтому представляю поделку на коленке специально для такого случая.
Cервис для Mattermost, написан удобства запуска различных powershell скриптов из slash/custom команд. На самом деле можно использовать для разных нужд, обращаясь к нему по url, но я его писал для того, чтобы в чатике рисовать кнопочки. Все любят кнопочки, даже котики и тётушки из бухгалтерии. Ну а писать на PowerShell обязан уметь любой виндовый админ, поэтому полезняшки!
Примерная работа выглядит так:
Сервис предназначен для работы на Windows системах, с Powershell v3+. Для его запуска требуются права запускать PowerShell скрипты и открывать сокет. В скрипте нет никакой аутентификации, поэтому прописывать в конфигах что-либо разрушительное и выставлять голой попой в интернет не советую. С другой стороны можно прописывать пути подлиннее, но это на любителя.
Сервис состоит собственно из самого скрипта, и конфиг файла, в котором указываются скрипты, которые нужно запускать и передаваемые на вход данные (описаны в документации, пункт 8).
Записи в конфиге
означают, что при обращении к урлу /script будет запущен скрипт Dummy-Script.ps1, находящийся в той же директории, что и ButtonCommander, с входящими переменными text,team_domain,user_name.
Сервис получает данные со скриптов и посылает их в channel, из которого пришел запрос. Если данные пришли в форме JSON, то конвертация в простое сообщение не происходит, а в Mattermost посылается исходный JSON — именно так делаются кнопочки.
Скрипт можно остановить или перечитать конфиг файл тоже путем обращения по специальному url. Но в прочем, описание и установка описаны прямо в репозитории, поэтому копипастить не буду. Скрипт прошёл обкатку, и выложен уже в рабочей версии. Работает без сбоев уже вполне долгое время.