Вбудовані додатки

Образи Docker для Antimatter містять набір додатків (плагінів у Системній консолі). На цій сторінці перелічено їх, вказано, які з них увімкнено після встановлення, та описано налаштування, які для кожного з них потрібні від адміністратора.

Вбудовані додатки

У Системній консолі додатки перелічено як Плагіни. Вони містяться в образі (у /antimatter/prepackaged_plugins), підписані ключем підпису додатків Antimatter, тому встановлюються без підключення до Інтернету.

Архів релізу та пакети .deb і .rpm містять менше додатків: див. Додатки в пакетах та архіві.

ДодатокІдентифікатор додаткаЗображенняУвімкнено після встановлення
Агенти (ШІ)mattermost-aiобидватак
Дзвінкиcom.mattermost.callsобидватак
Kanbanfocalboardобидватак
Плейбукиplaybooksобидватак
GitHubgithubобидвані
GitLabcom.github.manland.mattermost-plugin-gitlabобидвані
Jirajiraобидвані
Метрикиcom.mattermost.mattermost-plugin-metricsобидвані
Голосові каналиcom.antimatterchat.voice-channelsantimatter-nextтак
Опитуванняcom.antimatterchat.pollsantimatter-nextтак
Нотаткиcom.antimatterchat.notesantimatter-nextтак
Дошка для малюванняcom.antimatterchat.whiteboardantimatter-nextтак
Поштаcom.antimatterchat.mailantimatter-nextтак
Календарcom.antimatterchat.calendarantimatter-nextтак
GIFcom.antimatterchat.gifsantimatter-nextтак
Мімиmemesantimatter-nextні
Список справcom.mattermost.plugin-todoantimatter-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ки:

НалаштуванняЗмінна (запасне значення)Типове значенняПризначення
Адреса сервісу GIFAM_GIFS_SERVICE_URLпорожньоБазова адреса API сервісу, наприклад http://gifs:8080/v2. GIF вимкнено, доки це поле порожнє.
Ключ APIAM_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_LIMIT20Запити на секунду на клієнта (ключ API та адреса); 0 вимикає обмеження. Compose-файл встановлює 0, оскільки всі запити Antimatter використовують один ключ і адресу.
AM_GIFS_LISTEN:8080Адреса прослуховування.
AM_GIFS_PUBLIC_URLз запитівЗовнішній URL, якщо ви відкриваєте доступ до служби.
AM_GIFS_TRUST_PROXYfalseДовіряти заголовкам X-Forwarded-*, лише за проксі.
AM_GIFS_UPLOAD_MAX_MB16Найбільший файл, що може бути завантажений.

Щоб масово додати власні 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 перенаправлення OAuthURL вебхука
GitHubhttps://chat.example.com/plugins/github/oauth/completehttps://chat.example.com/plugins/github/webhook
GitLabhttps://chat.example.com/plugins/com.github.manland.mattermost-plugin-gitlab/oauth/completehttps://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 вебхуків.
Вимкніть Використовувати попередньо зареєстрований OAuth-застосунок у додатках GitHub і GitLab: ця опція покладається на сервіс Mattermost, якого немає в Antimatter, і додаток відмовляється запускатися, якщо вона увімкнена. Зареєструйте власний OAuth-застосунок.

Додатки 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 не прикидається, що має таку ліцензію для них.