Вбудовані додатки
Образи Docker для Antimatter містять набір додатків (плагінів у Системній консолі). На цій сторінці перелічено їх, вказано, які з них увімкнено після встановлення, та описано налаштування, які для кожного з них потрібні від адміністратора.
Вбудовані додатки
У Системній консолі додатки перелічено як Плагіни. Вони містяться в образі (у /antimatter/prepackaged_plugins), підписані ключем підпису додатків Antimatter, тому встановлюються без підключення до Інтернету.
Архів релізу та пакети .deb і .rpm містять менше додатків: див. Додатки в пакетах та архіві.
| Додаток | Ідентифікатор додатка | Зображення | Увімкнено після встановлення |
|---|---|---|---|
| Агенти (ШІ) | mattermost-ai | обидва | так |
| Дзвінки | com.mattermost.calls | обидва | так |
| Kanban | focalboard | обидва | так |
| Плейбуки | playbooks | обидва | так |
| GitHub | github | обидва | ні |
| GitLab | com.github.manland.mattermost-plugin-gitlab | обидва | ні |
| Jira | jira | обидва | ні |
| Метрики | com.mattermost.mattermost-plugin-metrics | обидва | ні |
| Голосові канали | com.antimatterchat.voice-channels | antimatter-next | так |
| Опитування | com.antimatterchat.polls | antimatter-next | так |
| Нотатки | com.antimatterchat.notes | antimatter-next | так |
| Дошка для малювання | com.antimatterchat.whiteboard | antimatter-next | так |
| Пошта | com.antimatterchat.mail | antimatter-next | так |
| Календар | com.antimatterchat.calendar | antimatter-next | так |
| GIF | com.antimatterchat.gifs | antimatter-next | так |
| Міми | memes | antimatter-next | ні |
| Список справ | com.mattermost.plugin-todo | antimatter-next | ні |
Додатки, які увімкнено за замовчуванням, встановлюються під час кожного запуску, якщо їх ще немає, або оновлюються, якщо в образі є новіша версія. Якщо ви вимкнете один із них, він залишиться вимкненим: значення за замовчуванням застосовується лише до додатків, які ще не згадано в налаштуваннях. Додатки, які зберігають ідентифікатор Mattermost (Агенти, Дзвінки, Kanban, Плейбуки та інтеграції), є власними збірками Antimatter.
Вмикання, вимикання та налаштування додатків
Перейдіть до Системна консоль › Плагіни › Керування плагінами. У розділі Встановлені плагіни для кожного додатка є кнопки Увімкнути або Вимкнути, Налаштування та Видалити, а також відображається його стан (Запущено, Не запущено, Не вдалося запустити тощо). Для кожного додатка з налаштуваннями також є окрема сторінка в розділі Системна консоль › Плагіни.
Вбудовані додатки, вимкнені за замовчуванням, встановлюються з власної копії образу: натисніть на своє фото вгорі бічної панелі додатків і виберіть Магазин плагінів (у класичному інтерфейсі — у меню продукту), знайдіть потрібний додаток і натисніть Встановити, а потім увімкніть його в керуванні плагінами. З командного рядка:
docker compose exec antimatter amctl --local plugin marketplace install github
docker compose exec antimatter amctl --local plugin enable github
Інші команди: amctl plugin list, amctl plugin disable <id>, amctl plugin delete <id>.
Вмикання додатків через налаштування
Які додатки увімкнено, визначає параметр PluginSettings.PluginStates — мапа ідентифікаторів додатків. Ви можете додати записи до нього за допомогою amctl; якщо увімкнено Увімкнути автоматичне встановлення готових плагінів (за замовчуванням увімкнено), увімкнений вбудований додаток буде встановлено під час наступного запуску:
docker compose exec -T antimatter amctl --local config patch /dev/stdin <<'EOF'
{"PluginSettings": {"PluginStates": {"com.mattermost.plugin-todo": {"Enable": true}}}}
EOF
docker compose restart antimatter
Таким самим способом встановлюють Список справ, який не пропонується в діалоговому вікні маркетплейсу. Змінна AM_PLUGINSETTINGS_PLUGINSTATES також працює, але вона замінює всю карту: перелічте всі додатки, які має бути увімкнено.
Налаштування додатків
Налаштування додатків зберігаються у PluginSettings.Plugins.<app id>, з ключами в нижньому регістрі. Ви можете змінити їх на сторінці Системної консолі додатка або за допомогою amctl config patch, як показано в розділі Налаштування. AM_PLUGINSETTINGS_PLUGINS замінює налаштування всіх додатків одразу та блокує їх, тому краще уникати його використання.
GIF
Додаток GIFs додає вкладку GIF і наліпок до вибору емодзі, що працює на основі сервісу GIF Antimatter (gifs-server), який використовує API Tenor. Compose-файл сайту запускає сервіс і налаштовує додаток за допомогою змінних. Його налаштування, у Системна консоль › Плагіни › GIFки:
| Налаштування | Змінна (запасне значення) | Типове значення | Призначення |
|---|---|---|---|
| Адреса сервісу GIF | AM_GIFS_SERVICE_URL | порожньо | Базова адреса API сервісу, наприклад http://gifs:8080/v2. GIF вимкнено, доки це поле порожнє. |
| Ключ API | AM_GIFS_API_KEY | порожньо | Один із ключів AM_GIFS_API_KEYS сервісу. |
| Ключ завантаження | AM_GIFS_UPLOAD_KEY | порожньо | Один із ключів AM_GIFS_UPLOAD_KEYS сервісу. Дозволяє користувачам додавати GIF і наліпки з вибору та видаляти ті, що були додані таким чином. Якщо поле порожнє, завантаження вимкнено. |
| Хто може додавати GIF і стікери | Системні адміністратори | Системні адміністратори або Усі. Гості ніколи не можуть, як і у випадку з кастомними емодзі. Те, що додають люди, доступне всім; особа, яка додала, та системні адміністратори можуть її видалити. | |
| Увімкнути стікери | увімкнено | Показує вкладку стікерів. | |
| Фільтр контенту | середній | високий, середній, низький або вимкнено. | |
| Надавати медіафайли через Antimatter | увімкнено | Браузери завантажують GIF з Antimatter, який отримує їх із сервісу. Залиште увімкненим, якщо сервіс доступний лише у вашій внутрішній мережі. | |
| Адреса медіафайлів | /media/ сервісу | Місце розташування медіафайлів, коли вони надаються напряму. | |
| Розмір кешу (МБ) | 64 МБ | Кеш у пам’яті додатка. |
Для цього додатка змінні слугують лише запасними значеннями: значення, встановлені в Системній консолі, мають пріоритет. Якщо вибірник GIF порожній, перевірте адресу сервісу та ключ API на цій сторінці.
Поки додаток GIFs налаштовано, його вкладка замінює вбудований вибір Giphy (Системна консоль › Інтеграції › GIF › Увімкнути вибір GIF, ServiceSettings.EnableGifPicker).
Сервіс GIF
Сервіс зберігає все у своєму каталозі даних (/data, том gifs): пошуковий індекс та медіафайли. Його основні змінні:
| Змінна | Типове значення | Призначення |
|---|---|---|
AM_GIFS_API_KEYS | немає | Ключі API, розділені комами. Без ключа API відкритий для всіх, хто має до нього доступ. Кілька ключів дозволяють їх ротацію. |
AM_GIFS_UPLOAD_KEYS | немає | Ключі, яким дозволено завантажувати та видаляти завантажене. Без ключа завантаження неможливі. |
AM_GIFS_RATE_LIMIT | 20 | Запити на секунду на клієнта (ключ API та адреса); 0 вимикає обмеження. Compose-файл встановлює 0, оскільки всі запити Antimatter використовують один ключ і адресу. |
AM_GIFS_LISTEN | :8080 | Адреса прослуховування. |
AM_GIFS_PUBLIC_URL | з запитів | Зовнішній URL, якщо ви відкриваєте доступ до служби. |
AM_GIFS_TRUST_PROXY | false | Довіряти заголовкам X-Forwarded-*, лише за проксі. |
AM_GIFS_UPLOAD_MAX_MB | 16 | Найбільший файл, що може бути завантажений. |
Щоб масово додати власні GIF, імпортуйте їх за допомогою маніфесту з каталогу, підключеного до одноразового контейнера:
docker compose run --rm -v "$PWD/my-gifs:/import:ro" gifs import -manifest /import/manifest.json
Щоб повторно імпортувати стартові наклейки після оновлення: docker compose run --rm gifs stickers. Формат маніфесту та інші команди описано в README gifs-server.
Пошта та календар
Пошта та календар пов’язують кожну особу з її власною поштовою скринькою (IMAP і SMTP) та власним календарем (CalDAV). Користувачі вказують сервер і пароль у додатку; паролі зберігаються в зашифрованому вигляді. Вам не потрібно налаштовувати сервери пошти чи календаря замість них, але ви визначаєте, до яких серверів вони можуть підключатися:
| Додаток | Налаштування | Типове значення | Призначення |
|---|---|---|---|
| Пошта, календар | Дозволити сервери пошти в приватних мережах, Дозволити сервери календаря в приватних мережах (AllowPrivateNetworks) | Вимкнено | Вимкнено: сервер відмовляє в підключенні до адрес loopback, приватних та локальних (link-local), тому додатки не можна використовувати для доступу до вашої внутрішньої мережі. Увімкніть, якщо ваш сервер пошти чи календаря має приватну адресу. |
| Пошта, календар | Дозволити незашифровані з’єднання (AllowInsecureConnections) | Вимкнено | Вимкнено: з’єднання мають використовувати TLS (Пошта: TLS або STARTTLS; Календар: HTTPS). |
| Пошта | Інтервал перевірки непрочитаних (хвилини) (UnreadCheckMinutes) | 2 хвилини | Як часто перевіряються непрочитані повідомлення, якщо сервер пошти не може надсилати їх автоматично. |
| Пошта | Максимальний розмір повідомлення (МБ) (MaxMessageSizeMB) | 25 МБ | Обмеження розміру для надсилання та отримання повідомлень. |
| Календар | Надсилати нагадування (EnableReminders) | увімкнено | Бот Календаря надсилає приватне повідомлення перед подіями (за 10 хвилин, для подій без власного нагадування). |
Щоб дозволити користувачам вхід до поштових скриньок Gmail або Microsoft 365 за допомогою їхніх акаунтів замість пароля, створіть OAuth-клієнт і заповніть поля Google або Microsoft у додатку Пошта:
- Google: веб-клієнт OAuth із Gmail API та областю доступу
https://mail.google.com/. - Microsoft: застосунок Entra ID із делегованими дозволами
IMAP.AccessAsUser.All,SMTP.Send,offline_access,openid,emailтаprofile. За замовчуванням використовується орендаcommon. - У обох випадках URI перенаправлення —
https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback(URL вашого сайту).
Kanban, нотатки, дошка для малювання, опитування та плейбуки
- Дошка (
focalboard) відкривається у бічній панелі поруч із розмовою, як і Плейбуки. Старі посилання на сторінки/kanban/…та/boards/…відкривають ту саму дошку або картку в спільноті. Її єдине налаштування, Увімкнути публічно доступні дошки (EnablePublicSharedBoards, вимкнено), дозволяє редакторам дошок надіслати посилання на дошку будь-кому, хто його отримає, без входу в систему. - Нотатки та Опитування не мають налаштувань.
- Дошка для малювання: системні адміністратори можуть завантажити бібліотеки фігур (файли Excalidraw
.excalidrawlib, до 5 МБ кожна) для всього сервера на сторінці налаштувань. Адміністратори спільнот керують бібліотеками власної спільноти. - Плейбуки відкриваються у бічній панелі. Старі посилання на сторінки
/playbooks/…відкривають той самий запуск або плейбук у спільноті. Він має кілька налаштувань, переважно експериментальних функцій; значення за замовчуванням підходять для більшості серверів. - Міми: Хто може додавати шаблони мемів: Усі (типово), Адміністратори системи або Ніхто (вимкнено користувацькі шаблони), що забороняє додавання нових шаблонів, але вже додані залишаються доступними. Гості ніколи не додають шаблони. Особа, яка додала шаблон, та адміністратори системи можуть його видалити.
- Список справ не має налаштувань сервера.
GitHub, GitLab і Jira
Ці додатки пов’язують Antimatter із вашими системами хостингу коду та відстеження проблем. Кожен із них потребує OAuth-застосунку на стороні інтеграції та вебхука, що вказує назад на Antimatter. Увімкніть додаток, а потім виконайте його команду налаштування в будь-якому каналі, яка проведе вас крок за кроком: /github setup, /gitlab setup або /jira setup.
| Додаток | URL перенаправлення OAuth | URL вебхука |
|---|---|---|
| GitHub | https://chat.example.com/plugins/github/oauth/complete | https://chat.example.com/plugins/github/webhook |
| GitLab | https://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/oauth/complete | https://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/webhook |
| Jira | /jira instance install server <url> або /jira instance install cloud-oauth <url>; /jira webhook виводить URL вебхуків. | |
Додатки GitHub і GitLab генерують секрет вебхука та ключ шифрування при першому збереженні. Додаток GitHub можна обмежити організаціями (GithubOrg), а додаток GitLab — групою (GitlabGroup); для GitHub Enterprise або самохостингованого GitLab встановіть його базовий URL.
Метрики
Додаток Metrics збирає метрики продуктивності сервера в невелику базу даних часових рядів всередині Antimatter, щоб ви могли завантажити їх або включити в пакет підтримки без запуску Prometheus. При запуску він вмикає метричний endpoint сервера (MetricsSettings.Enable). Див. Операції.
Встановлення інших додатків
Antimatter запускає додатки Mattermost (плагіни). Три способи додати один:
- З віддаленого магазину. Увімкнути віддалений Магазин плагінів (
PluginSettings.EnableRemoteMarketplace) вимкнено за замовчуванням, а URL-адреса магазину плагінів (PluginSettings.MarketplaceURL) порожня: Antimatter не використовує магазин Mattermost і ігнорує його адресу, якщо вона залишилась у конфігурації з Mattermost. Щоб перелічити додатки з сервера магазину, якому ви довіряєте, увімкніть цей параметр і вкажіть його URL. Збірки додатків, які постачає Antimatter (Calls, Playbooks, Kanban та інші), з цього магазину приховані, щоб вони не могли замінити вбудовані: Дозволити Marketplace заміняти збірки плагінів Antimatter (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) вимкнено за замовчуванням. - Завантаженням пакета (
.tar.gz). Завантаження вимкнено за замовчуванням і не має перемикача в системній консолі: встановітьAM_PLUGINSETTINGS_ENABLEUPLOADS=true, а потім скористайтеся Завантажити плагін в управлінні плагінами або командоюamctl --local plugin add app.tar.gz. - З URL:
amctl plugin install-url <url>, також за умови увімкненого завантаження.
Antimatter перевіряє підписи додатків за допомогою ключів, яким він довіряє: ключ Antimatter, ключ, яким Mattermost, Inc. підписує свої опубліковані додатки (тому додаток Mattermost, який ви завантажили самостійно, встановлюється), та будь-який ключ, який ви додасте в PluginSettings.SignaturePublicKeyFiles. Якщо Вимагати підпис плагіна (PluginSettings.RequirePluginSignature, вимкнено за замовчуванням) увімкнено, додатки без підпису відхиляються, а завантаження вимикається.
Деякі додатки, створені для платних редакцій Mattermost, самостійно перевіряють наявність ліцензії Mattermost і відмовляються працювати; Antimatter не прикидається, що має таку ліцензію для них.