Запуск сервера
Это руководство предназначено для системных администраторов, устанавливающих и эксплуатирующих сервер Antimatter. Предполагается, что вы знакомы с Linux, Docker и обратными прокси, но не с Antimatter.
Компоненты развёртывания
Antimatter — это self-hosted командный чат, форк Mattermost. Полное развёртывание состоит из следующих частей. Только первые три являются обязательными.
| Компонент | Назначение | Обязательность |
|---|---|---|
| Сервер Antimatter | Одна программа на Go (antimatter), которая обслуживает веб-приложение, API и веб-сокеты на порту 8065, запускает встроенные приложения (плагины) и передаёт медиа для звонков на порту 8443. Управляется командной утилитой amctl. | да |
| PostgreSQL | База данных: сообщения, пользователи, сообщества и, в рекомендуемой конфигурации, настройки сервера. Версия 15 или новее. | да |
| Файловое хранилище | Загруженные файлы, изображения и установленные приложения: S3-совместимый сервис (в compose-файле используется RustFS) или локальная директория. | да |
| Обратный прокси | HTTPS перед сервером: профиль Caddy из compose-файла или ваш собственный nginx. | для продакшена |
Сервис GIF (gifs-server) | GIF и наклейки для выбора GIF из собственного каталога. Использует Tenor API. | нет |
| Прокси для push-уведомлений | Перенаправляет уведомления в мобильное приложение через Apple и Google. | для мобильных уведомлений |
| rtcd, TURN-сервер | Отдельный медиа-сервер для множества звонков и ретранслятор для пользователей за строгими файрволами. | нет |
| AI-эндпоинты | Модели, обеспечивающие переписывание, краткие изложения, перевод, озвучивание, ИИ-агентов и транскрипцию звонков, добавляются как подключения моделей: облачный провайдер или собственные серверы. | нет |
Antimatter не имеет лицензионных ограничений и платной редакции: единый вход, LDAP, высокая доступность, экспорт для соответствия требованиям, удержание данных и другие функции, которые Mattermost оставляет для платных тарифов, включены в базовую версию.
Требования
- Сервер на Linux,
amd64илиarm64, с 2 ядрами CPU и 4 ГБ памяти или более для нескольких сотен пользователей, а также дисковым пространством для загружаемых файлов. - Docker Engine с плагин Compose (
docker compose) для рекомендуемого способа установки. Или, для пакетов, сервер на базе Debian, Ubuntu, Fedora или RHEL с systemd. - Для продакшена: доменное имя, указывающее на сервер, и открытые порты 80 и 443 для HTTPS.
- Для звонков: порт 8443 (UDP и TCP), доступный для звонящих.
- Для электронной почты: SMTP-сервер, через который Antimatter может отправлять письма.
Быстрый старт
mkdir antimatter && cd antimatter
curl -fsSLO https://antimatter.chat/compose.yaml
cat > .env <<EOF
SITE_URL=http://localhost:8065
POSTGRES_PASSWORD=$(openssl rand -hex 24)
S3_SECRET_KEY=$(openssl rand -hex 24)
GIFS_API_KEY=$(openssl rand -hex 24)
AM_AI_ENCRYPTION_KEY=$(openssl rand -base64 32)
EOF
docker compose up -d
Затем откройте URL сайта и создайте свой аккаунт: первый аккаунт становится системным администратором. Раздел Установка описывает каждый шаг и другие способы установки.
В этом руководстве
- Установка: Docker Compose, образы, первый администратор, пакеты .deb и .rpm, архив релиза.
- Конфигурация: настройки в базе данных или файле, переменные окружения
AM_, Системная консоль,amctl, журналы. - Домен и HTTPS: URL сайта, Caddy, nginx, адреса клиентов.
- Звонки и голос: порты, NAT, TURN, rtcd, транскрипция и субтитры.
- Электронная почта и push-уведомления: SMTP, push-прокси и мобильное приложение.
- Встроенные приложения: какие приложения включены, их настройки, установка других.
- ИИ: подключения моделей, встроенные функции ИИ, агенты, распознавание речи и перевод, ключ шифрования и то, какие данные передаются куда.
- Вход и аккаунты: регистрация, пароли, MFA, единый вход, LDAP, гости, сеансы.
- Резервные копии и обновления: создание резервных копий, восстановление, обновление, перенос с Mattermost.
- Эксплуатация: мониторинг, масштабирование, хранение данных, соответствие требованиям, устранение неполадок.
- Безопасность: чек-лист усиления безопасности и внешние соединения.
- Развёртывание настольного приложения: MSI, групповые политики и Intune, профили macOS и файл политик для Linux.
Вы управляете сообществом, а не сервером (каналы, роли, модерация)? См. Управление сообществом. Разрабатываете интеграции? См. Разработка на Antimatter.
Первый час
- Установите систему и сразу создайте аккаунт администратора.
- Разместите сервер за HTTPS на собственном домене.
- Настройте SMTP и отправьте тестовое письмо.
- Откройте порт для звонков. Для компании установите тип новых сообществ в значение Компания, чтобы звонки были доступны в каналах.
- Определите, кто может регистрироваться, и включите MFA.
- Проверьте внешние соединения в разделе Безопасность.
- Настройте ежедневное резервное копирование. Перед добавлением подключений моделей ИИ установите ключ шифрования ИИ.
Получение помощи
Задавайте вопросы в обсуждениях сообщества и сообщайте об ошибках в репозитории сообщества. О проблемах безопасности сообщайте конфиденциально, как описано в политике безопасности.