Mattermost
Открытый корпоративный мессенджер, который ставится на ваш сервер и полностью заменяет Slack или Microsoft Teams. Развернули Team Edition 11.10 в Docker, замерили аппетиты и проверили заказом с маркетплейса.
Вердикт
- командам, которым нужен свой чат вместо Slack/Teams - с перепиской и файлами на своем сервере
- для импортозамещения и требований к хранению данных в РФ (152-ФЗ)
- тем, кто хочет каналы, треды и поиск без абонентской платы за место
- если нужны видеозвонки из коробки - в Team Edition их нет, нужен плагин или Enterprise
- одиночке или паре человек - проще взять готовый SaaS
- кому нужны SSO/SAML, LDAP и групповые политики - это уже Enterprise
Что это и какую задачу решает
Mattermost - это корпоративный мессенджер, который вы разворачиваете на своем сервере. По функциям это прямая замена Slack и Microsoft Teams: публичные и приватные каналы, личные сообщения, треды, вложения, реакции, поиск по всей переписке и интеграции через вебхуки и ботов. Разница в том, что весь трафик и все файлы остаются у вас, а не в чужом облаке.
Это решает две частые задачи. Первая - независимость: не нужно платить за место в облаке и переживать за доступность внешнего SaaS. Вторая - данные под контролем: для компаний в РФ это закрывает вопрос 152-ФЗ о хранении данных, а для остальных снимает vendor lock-in. Проект живет с 2015 года, у репозитория больше 38 тысяч звезд, а Team Edition распространяется под лицензией MIT.
Чем отличается от платных аналогов
Сравнение по тому, что реально влияет на выбор, без снисходительности к Slack и Teams - это отличные продукты, просто с другой моделью.
| Параметр | Mattermost (self-hosted) | Slack / MS Teams |
|---|---|---|
| Модель цены | бесплатно, платите только за сервер | подписка за пользователя в месяц |
| Где данные | на вашем сервере | в облаке вендора |
| История сообщений | без лимита | урезана на бесплатных планах |
| Vendor lock-in | нет, открытый код и свой сервер | есть |
| 152-ФЗ / данные в РФ | решается размещением у вас | данные вне РФ |
| Видеозвонки | плагином или в Enterprise | из коробки |
Тех-стек и архитектура
Сервер написан на Go - это один компактный бинарник, отсюда скромный аппетит к памяти и быстрый старт. Веб-клиент - React на TypeScript. Данные и вся история лежат в PostgreSQL; поиск работает через встроенный движок Bleve, отдельная поисковая система не нужна.
В нашей сборке стек разложен на три контейнера: mattermost (приложение), postgres (база) и caddy - обратный прокси, который сам получает и продлевает TLS-сертификат Let's Encrypt. Приложение слушает порт 8065 внутри сети Docker, наружу торчит только Caddy на 80/443. Файлы и конфиг хранятся в томах на диске, поэтому переживают пересоздание контейнеров.
Минимальная конфигурация
Реальные требования против официального минимума.
| Официальный минимум RAM | 2 GB (до ~1000 польз. - 4 GB) |
| Реально в простое (весь стек) | ~0.8 GB |
| Образы на диске | ~1.65 GB |
| Рекомендуем тариф | CPU2-RAM4-DISK50 |
| Тариф Fatmetal | CPU2-RAM4-DISK50 - 500 ₽/мес |
Важно: в простое втроем (приложение + Postgres + Caddy) стек занимает меньше гигабайта RAM, но PostgreSQL и индекс поиска любят запас под нагрузкой. CPU2-RAM4-DISK50 - комфортный минимум для команды до нескольких десятков человек; расти можно позже сменой тарифа без переустановки.
В маркетплейсе Fatmetal
Не хотите ставить руками?
Этот стек есть в маркетплейсе Fatmetal - можно не повторять установку из этого разбора вручную. Заказываете сервер, за пару минут получаете рабочий сервис на своем домене, валидный TLS и файл с доступами.
Рекомендуемая конфигурация:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe от 450 ₽/мес
Развертывание на Fatmetal
Самый быстрый путь - карточка Mattermost из маркетплейса: заказ VM и все поднимается само.
Заказать сервер с картой Mattermost
В маркетплейсе выберите приложение Mattermost, тариф CPU2-RAM4-DISK50 и Ubuntu 24.04. Больше ничего настраивать не нужно.
Дождаться первого буста
Cloud-init сам ставит Docker, поднимает стек и выпускает TLS. Сервер получает адрес вида
<ip>.fatmetal.netс валидным HTTPS - за 2-3 минуты.Создать первый аккаунт
Откройте выданный адрес - первый зарегистрированный пользователь становится системным администратором. Дальше создаете команду и приглашаете коллег.
Хотите развернуть руками - тот же стек из трех контейнеров поднимается обычным Compose:
docker compose pull
docker compose up -d
# ждем healthy, проверка:
curl -s https://ваш-домен/api/v4/system/ping
Проверка живости: эндпоинт /api/v4/system/ping отдает {"status":"OK"}, когда приложение и база готовы принимать пользователей.
Что измерили после запуска
Цифры со свежей установки без нагрузки, снятые прямо на сервере.
| Заказ карты до рабочего HTTPS | ~2-3 мин |
| RAM в простое (весь стек) | ~0.8 GB |
| - из них приложение | ~193 MB |
| - PostgreSQL | ~53 MB |
| - Caddy | ~20 MB |
| Образы на диске | ~1.65 GB |
| Диск занято суммарно | ~4.2 GB |
Главное: для полноценного командного мессенджера аппетит очень скромный - меньше гигабайта RAM в покое. Основной запас закладывайте под рост числа сообщений и файлов, а не под сам сервер.
Проверено на версии Mattermost Team Edition 11.10, август 2026. На новых версиях результаты могут отличаться.
Где может сломаться
Реальные грабли, на которые наткнулись при сборке рецепта.
Главная засада ручной установки - права на каталоги с данными. Приложение в контейнере работает под пользователем с uid 2000, а тома, созданные из-под root, ему недоступны на запись. В итоге приложение не может записать конфиг и уходит в бесконечный перезапуск:
Причина. Каталоги томов принадлежат root, а процесс Mattermost внутри образа - пользователю с uid:gid 2000.
Решение. До первого запуска выставить владельца томов: chown -R 2000:2000 volumes/mattermost. В нашей карточке это уже зашито в рецепт.
Стартовая страница выбора приложения. По умолчанию Mattermost сначала показывает экран «открыть в десктоп-приложении или в браузере». Для kiosk-сценариев его выключают настройкой EnableDesktopLandingPage=false.
Безопасность и обновления
TLS в нашей сборке выпускается автоматически через Caddy и Let's Encrypt, так что HTTPS есть с первой минуты. Security-обновления Mattermost выходят регулярно; следить за ними стоит на странице релизов проекта. Обновление стека сводится к смене тега образа и рестарту:
docker compose pull && docker compose up -d
Все данные и переписка лежат в PostgreSQL - бэкап делается обычным дампом базы (плюс каталог с загруженными файлами):
docker exec mattermost-postgres-1 pg_dump -U mmuser mattermost > backup.sql
Связь с другими стеками
- Обратный прокси - Caddy уже в комплекте и держит TLS; при желании можно вынести на общий Nginx Proxy Manager.
- Бэкапы -
pg_dumpбазы + каталог файлов, выгрузка в S3. - Мониторинг - метрики отдает эндпоинт приложения, снимаются Grafana + Prometheus.
- Уведомления - входящие вебхуки удобно связать с ntfy или CI/CD пайплайнами.
Когда это НЕ ваш выбор
Нужны видеозвонки из коробки
В Team Edition встроенных звонков нет - только текст. Аудио и видео добавляются плагином Calls или доступны в Enterprise. Если созвоны важнее чатов, посмотрите в сторону других решений.
Нужны SSO, LDAP и групповые политики
SAML- и AD-интеграции, гранулярные роли и compliance-функции - это платная Enterprise-редакция. На бесплатной Team Edition их не будет.
Вас двое-трое
Для маленькой группы разворачивать и обслуживать свой сервер избыточно - проще взять готовый бесплатный тариф SaaS-мессенджера.
Частые вопросы
Чем Team Edition отличается от Enterprise?
Team Edition бесплатна (MIT) и дает каналы, треды, файлы, поиск и интеграции. Enterprise добавляет SSO/SAML, LDAP, compliance, гранулярные права и приоритетную поддержку.
Хватит ли 4 GB RAM?
Да. Весь стек в простое занимает меньше гигабайта; 4 GB комфортны для команды до нескольких десятков человек.
Есть ли видеозвонки?
Во встроенном виде - нет. Аудио и видео добавляются плагином Calls или доступны в Enterprise.
Где хранятся сообщения и файлы?
В PostgreSQL и в каталоге данных на вашем сервере. Наружу ничего не уходит - это и закрывает вопрос 152-ФЗ.
Как обновлять?
Сменить тег образа в compose и выполнить docker compose pull && docker compose up -d.
Как сделать бэкап?
Дамп базы pg_dump плюс каталог загруженных файлов; удобно выгружать в S3.
Какие ограничения лицензии?
Team Edition - MIT, свободно для коммерческого использования. Ограничения касаются только функций Enterprise, а не количества пользователей.
Итог
Mattermost - зрелая self-hosted замена Slack и Teams: каналы, треды, файлы и поиск на своем сервере, с перепиской под вашим контролем. Аппетит скромный (меньше 1 GB RAM в покое), а с карточки маркетплейса рабочий сервер с валидным HTTPS поднимается за пару минут. Для команды, которой нужен свой корпоративный чат без абонплаты и без чужого облака, - один из лучших вариантов.
Рекомендуемая конфигурация для установки:
2 vCPU · 4 ГБ RAM · 50 ГБ NVMe
Не хотите устанавливать вручную?
Запустите Mattermost на этой конфигурации автоматически - от 450 ₽/мес.
Этот стек у нас запущен на тарифе CPU2-RAM4-DISK50. Нашли баг в гайде - напишите, поправим в течение дня.