Вградени приложения
Docker образите на Antimatter включват набор от приложения (плагини в Системната конзола). Тази страница ги изброява, посочва кои са активни след инсталацията и описва настройките, които всеки от тях изисква от администратор.
Вградените приложения
Приложенията се изброяват като Приставка в Системната конзола. Те се намират в образа (в /antimatter/prepackaged_plugins), подписани с ключа за подписване на приложенията на Antimatter, така че се инсталират без интернет връзка.
Архивът за разпространение и пакетите .deb и .rpm съдържат по-малко приложения: вижте Приложения в пакетите и архива.
| Приложение | Идентификатор на приложението | Образ | Активно след инсталация |
|---|---|---|---|
| AI чат | mattermost-ai | и двете | да |
| Calls | com.mattermost.calls | и двете | да |
| GitHub | github | и двете | не |
| GitLab | com.github.manland.mattermost-plugin-gitlab | и двете | не |
| Jira | jira | и двете | не |
| Метрики | com.mattermost.mattermost-plugin-metrics | и двете | не |
| Voice Channels | com.antimatterchat.voice-channels | antimatter-next | да |
| Polls | com.antimatterchat.polls | antimatter-next | да |
| Notes | com.antimatterchat.notes | antimatter-next | да |
| Whiteboard | com.antimatterchat.whiteboard | antimatter-next | да |
com.antimatterchat.mail | antimatter-next | да | |
| Calendar | com.antimatterchat.calendar | antimatter-next | да |
| GIFs | com.antimatterchat.gifs | antimatter-next | да |
| Memes | memes | antimatter-next | не |
| Todo | com.mattermost.plugin-todo | antimatter-next | не |
Приложенията, активни по подразбиране, се инсталират при всяко стартиране, ако все още не са, или се надграждат, ако изображението съдържа по-нова версия. Ако деактивирате такова приложение, то остава деактивирано: подразбирането се прилага само за приложения, които конфигурацията още не споменава. Приложенията, които запазват идентификатора си на Mattermost (AI чат, Обаждания и интеграциите), са собствени версии на Antimatter.
Kanban (focalboard) и Наръчници (playbooks) вече не са включени в сървъра или в някое от изображенията: инсталирайте желаното от неговото собствено GitHub издание (вижте Приложения в пакетите и архива), както всяко друго приложение, което не е включено по подразбиране. Сървър, на който е инсталирано такова приложение, го запазва при надграждане. И двете остават собствени версии на Antimatter: стандартните версии на Marketplace никога не заместват тези на 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
По този начин се инсталира и Todo, което не се предлага в диалога на Marketplace. Променливата AM_PLUGINSETTINGS_PLUGINSTATES също работи, но тя замества цялата карта: избройте всички приложения, които искате да са активни.
Настройки на приложенията
Настройките на приложенията се съхраняват под PluginSettings.Plugins.<app id>, с ключове в малки букви. Променяйте ги в страницата на системната конзола на приложението или чрез amctl config patch, както е показано в Конфигурация. AM_PLUGINSETTINGS_PLUGINS заменя настройките на всички приложения едновременно и ги блокира, така че избягвайте да го използвате.
GIFs
Приложението GIFs добавя раздел за GIF и стикери в изборника на емоджи, подкрепен от GIF услугата на Antimatter (gifs-server), която използва Tenor API. Файлът за конфигурация на сайта стартира услугата и настройва приложението чрез променливи. Настройките му, в Системна конзола › Приставка › 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/ на услугата | Местоположението на медията, когато се сервира директно. | |
| Размер на кеша (MB) | 64 MB | Кеш в паметта на приложението. |
За това приложение променливите са само за резерв: стойност, зададена в системната конзола, има предимство пред тях. Ако изборникът за GIF остане празен, проверете адреса на услугата и API ключа на тази страница.
Докато приложението GIFs е конфигурирано, неговият раздел замества вградената изборна лента на Giphy (Системна конзола › Интеграции › GIF › Активиране на GIF Picker, ServiceSettings.EnableGifPicker).
GIF услугата
Услугата съхранява всичко в своята директория за данни (/data, обемът gifs): индекс за търсене и медия. Основните ѝ променливи:
| Променлива | По подразбиране | Какво прави |
|---|---|---|
AM_GIFS_API_KEYS | няма | API ключове, разделени със запетая. Без ключ API е отворен за всеки, който има достъп до него. Няколко ключа позволяват ротация. |
AM_GIFS_UPLOAD_KEYS | няма | Ключове, разрешени за качване и за изтриване на каченото. Без такъв няма качване. |
AM_GIFS_RATE_LIMIT | 20 | Заявки в секунда на клиент (API ключ и адрес); 0 го изключва. Файлът за композиране задава 0, защото всички заявки на Antimatter споделят един и същ ключ и адрес. |
AM_GIFS_LISTEN | :8080 | Адрес за слушане. |
AM_GIFS_PUBLIC_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 минути | На колко време се проверяват броячите на непрочетеното, когато пощенският сървър не може да ги изпраща. | |
Максимален размер на съобщение (MB) (MaxMessageSizeMB) | 25 MB | Ограничение за размера на изпратените и четените съобщения. | |
| Calendar | Изпращане на напомняния (EnableReminders) | включено | Ботът за календар изпраща директно съобщение преди събитията (10 минути преди, за събития без собствено напомняне). |
За да позволите на хората да влизат в Gmail или Microsoft 365 пощенски кутии с акаунта си вместо с парола, създайте OAuth клиент и попълнете полетата за Google или Microsoft в приложението за поща:
- Google: Web 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, бележки, бяла дъска, анкети и наръчници
- Kanban (
focalboard) се отваря в страничната си панел до разговора, както и Playbooks. Старите връзки към страници/kanban/…и/boards/…отварят същата дъска или карта в общността. Единственият ѝ параметър, Разрешаване на публично споделяни дъски (EnablePublicSharedBoards, изключено), позволява на редакторите на дъски да споделят дъска с всеки, който има връзката, без да се влиза в системата. - Notes и Polls нямат настройки.
- Whiteboard: системните администратори могат да качат библиотеки с форми (файлове Excalidraw
.excalidrawlib, до 5 MB всеки) за целия сървър от страницата с настройките. Администраторите на общността управляват библиотеките на собствената си общност. - Playbooks се отваря в страничния си панел. Старите връзки към страници
/playbooks/…отварят същото изпълнение или наръчник в общността. Има няколко параметъра, предимно експериментални функции; стойностите по подразбиране са подходящи за повечето сървъри. - Memes: Кой може да добавя шаблони за меми: Всички (по подразбиране), Системни администратори или Никой (персонализирани шаблони изключени), което спира добавянето на нови шаблони, докато вече добавените остават използваеми. Гостите никога не добавят шаблони. Добавилото и системните администратори могат да го изтрият.
- Todo няма сървърни настройки.
GitHub, GitLab и Jira
Тези приложения свързват Antimatter с вашия хостинг за код и трекер за задачи. Всяко от тях изисква OAuth приложение на другата страна и webhook, който сочи обратно към Antimatter. Активирайте приложението, след което изпълнете неговата настройка в който и да е канал — тя ви води стъпка по стъпка: /github setup, /gitlab setup или /jira setup.
| Приложение | OAuth redirect URL | Webhook 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 показва webhook адресите. | |
Приложенията за GitHub и GitLab генерират webhook тайна и ключ за шифроване при първото записване. Приложението за GitHub може да се ограничи до организации (GithubOrg), а това за GitLab — до група (GitlabGroup); за GitHub Enterprise или self-hosted GitLab задайте базовия URL.
Метрики
Приложението Metrics събира метриките за производителност на сървъра в малка база данни за времеви редици вътре в Antimatter, така че можете да ги изтеглите или да ги включите в пакет за поддръжка, без да стартирате Prometheus. При стартиране то включва метричния endpoint на сървъра (MetricsSettings.Enable). Вижте Operations.
Инсталиране на други приложения
Antimatter изпълнява приложения на Mattermost (плъгини). Три начина за добавяне:
- От отдалечен магазин. Разреши Remote Marketplace (
PluginSettings.EnableRemoteMarketplace) е изключено по подразбиране, а URL адрес на Marketplace (PluginSettings.MarketplaceURL) е празен: Antimatter не използва магазина на Mattermost и игнорира неговия адрес, ако конфигурация от Mattermost все още го съдържа. За да изброите приложенията от сървър на магазин, на който имате доверие, включете настройката и задайте URL адреса. Версиите на приложенията, които Antimatter доставя (Calls, Playbooks, Kanban и останалите), от този магазин се скриват, така че не могат да заместят тези на Antimatter: Разрешаване на пазарните версии на плъгините на 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 не се представя за такъв за тях.