Установка Mattermost на Ubuntu

    Команда Simple-Server
    03.06.2026
    7 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    На 1000 пользователей минимально потребуется 1 CPU, 2GB RAM и PostgreSQL v11+ (необязательно использовать именно Postgres).

    Я буду использовать следующие ресурсы:

    • Postgres 14. Закажем DBaaS с конфигом: 1 CPU 2 GB RAM + 20 GB диска
    • Mattermost. Закажем сервер с Ubuntu и конфигурацией 2 CPU, 2 GB RAM + 50 GB диска
    • Необходимо ограничить доступ до БД, один из способов — локальная сеть в Simple-Server

    Ограничить доступ к базе данных можно через firewall, но по задумке все сервисы будут находиться в одной сети. Важно! Для работы в одной сети сервисы должны находиться в одном регионе.

    Базу данных закажем как сервис. Сейчас достаточно 1 CPU, 2GB RAM и 20 GB диска, сервис будет размещен в Польше.

    В пункте «4. Приватная сеть» выбрать сеть, созданную выше.

    После создания сервиса сразу отключаем ползунок «Разрешить доступ по публичному IP» в настройках. База данных по умолчанию — defult_db, пользователь gen_user.

    Теперь необходимо создать сервер, на котором будут установлены Mattermost и Nginx. Сервер будет на Ubuntu 22.04 и развернут в Польше:

    Конфигурация — 2 CPU, 2 GB RAM и 50 GB диска.

    Как и с Postgres, в пункте «6. Приватная сеть» нужно выбрать созданную выше сеть.

    На Дашборде сервера будет предложено предлагается выполнить команду для установки Zabbix, чтобы получать метрики по RAM и диску. Подключимся по SSH и выполним ее:

    wget -O - http://zabbix.repo.simple-server.tech/zabbix-install.sh | bash

    Дополнительно нам понадобится домен для получения сертификата TLS. Можно воспользоваться бесплатным техническом доменом в панели Simple-Server в разделе Домены. Я добавлю поддомен на домене twc1.net.

    Cтоит проверить, что домен привязался к серверу, это можно сделать в разделе «Сеть». Если домен не прописан рядом с IP-адресом, можно добавить его через «Настроить обратную зону».

    Теперь можно переходить к самой установке. Для установки подключим репозиторий deb.packages.mattermost.com/repo-setup.sh.

    curl -o- https://deb.packages.mattermost.com/repo-setup.sh | sudo bash -s mattermost

    Здесь в sudo bash -s mattermost передается аргумент mattermost для добавления репозитория только Mattermost. Аргументом по умолчанию в данном скрипте является all, тогда будут также добавлены репозитории Ngnix, PostgreSQL и Certbot.

    Установим сервис. Он будет установлен по пути /opt/mattermost. Пользователь mattermost и группа mattermost будут созданы автоматически.

    sudo apt update sudo apt install mattermost -y

    После установки понадобится создать config.json с необходимыми правами (он создается на основе config.defaults.json). Чтение и запись в файл будут доступны только для пользователя владельца (в нашем случае это mattermost).

    sudo install -C -m 600 -o mattermost -g mattermost /opt/mattermost/config/config.defaults.json /opt/mattermost/config/config.json

    В конфиге необходимо заполнить параметры:

    sudo nano /opt/mattermost/config/config.json
    • SiteUrl — сюда необходимо прописать созданный домен с протоколом https (в блоке ServiceSettings). Позже мы подключим SSL-сертификат.

    • DriverName — по умолчанию стоит postgres (в блоке SqlSettings).

    • DataSource — указать пользователя, пароль, хост и имя БД в ссылке подключения (в блоке SqlSettings).

    Остальные конфиги не важны для первого запуска, и их можно будет изменить позднее в административной консоли Mattermost.

    Запускаем сервис Mattermost:

    sudo systemctl start mattermost

    Проверим, что ничего не упало и Mattermost поднялся:

    sudo systemctl status mattermost.service

    А также, что он доступен на порту 8065.

    Если сайт не открывается, проверьте настройки файрвола. Также можно обратиться к порту локально с сервера:

    Дополнительно добавим автозапуск сервиса:

    sudo systemctl enable mattermost.service

    Мы не будем напрямую использовать порт 8065 — он будет позже закрыт файрволом. Для проксирования запросов установим Nginx.

    Теперь добавим конфигурацию:

    sudo nano /etc/nginx/sites-available/mattermost

    В строке server_name необходимо указать свой домен, в нашем случае mattermost.twc1.net.

    Обратите внимание, что проксируется как HTTP, так и websocket-протоколы.

    Добавим линк конфигурационного файла в sites-enabled:

    sudo ln -s /etc/nginx/sites-available/mattermost /etc/nginx/sites-enabled/mattermost sudo rm -f /etc/nginx/sites-enabled/default

    Делаем рестарт сервиса Nginx:

    sudo service nginx restart

    Теперь выпустим сертификат от Let’s Encrypt для домена через certbot:

    sudo apt install python3-certbot-nginx && certbot

    Certbot попросит указать почту, домен и после добавит сертификат для домена.

    После установки сертификата certbot допишет конфигурацию nginx mattermost. Будет добавлена директива listen**** для обработки запросов с 443 порта, директивы с ключами и конфигами для SSL, а также редирект с HTTP на HTTPS.

    После создания сервера в настройках сети добавим правила для файрвола.

    Я ограничил входящие TCP запросы портами 22 для работы с SSH, 80 и 443 для TCP. Для сбора метрик на дашборд сервера необходимо открыть также порт 10050; список IP-адресов, для которых необходимо открывать порт, будет в /etc/zabbix/zabbix_agentd.conf.

    Теперь Mattermost будет доступен по адресу https://mattermost.twc1.net/.

    Можно Заказать VPS и рабочее пространство сразу из браузерной версии.

    После установки и при первом входе можно наблюдать проблему с коннектом Web-сокетов.

    Рекомендую проверить конфиги, теперь сделать это можно из System Console.

    Например, моя ошибка заключалась в URL сервера.

    Из коробки будут доступны звонки, playbooks, магазин с плагинами, аутентификация Gitlab. Также сам продукт имеет отличную документацию.

    Разверните базу данных в облаке за минуту

    В статье мы развернули бесплатную self-hosted версию Mattermost на серверах Simple-Server с вынесенной базой данных, доступной только из внутренней сети. Обратите внимание, что ресурсы для серверов были взяты под абстрактную задачу и их может потребоваться больше, не стоит пропускать нагрузочное тестирование :) В качестве следующего шаг рекомендую подключить хранилище S3, которое также доступно на simple-server.tech.


    Нужен сервер для практики? Арендуйте VPS/VDS в России — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация или чистый VPS без панели?

    Все тарифы VPS

    Похожие статьи, которые могут быть вам интересны