Вградени приложения

Docker образите на Antimatter включват набор от приложения (плагини в Системната конзола). Тази страница ги изброява, посочва кои са активни след инсталацията и описва настройките, които всеки от тях изисква от администратор.

Вградените приложения

Приложенията се изброяват като Приставка в Системната конзола. Те се намират в образа (в /antimatter/prepackaged_plugins), подписани с ключа за подписване на приложенията на Antimatter, така че се инсталират без интернет връзка.

Архивът за разпространение и пакетите .deb и .rpm съдържат по-малко приложения: вижте Приложения в пакетите и архива.

ПриложениеИдентификатор на приложениетоОбразАктивно след инсталация
AI чатmattermost-aiи дветеда
Callscom.mattermost.callsи дветеда
GitHubgithubи дветене
GitLabcom.github.manland.mattermost-plugin-gitlabи дветене
Jirajiraи дветене
Метрикиcom.mattermost.mattermost-plugin-metricsи дветене
Voice Channelscom.antimatterchat.voice-channelsantimatter-nextда
Pollscom.antimatterchat.pollsantimatter-nextда
Notescom.antimatterchat.notesantimatter-nextда
Whiteboardcom.antimatterchat.whiteboardantimatter-nextда
Mailcom.antimatterchat.mailantimatter-nextда
Calendarcom.antimatterchat.calendarantimatter-nextда
GIFscom.antimatterchat.gifsantimatter-nextда
Memesmemesantimatter-nextне
Todocom.mattermost.plugin-todoantimatter-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_LIMIT20Заявки в секунда на клиент (API ключ и адрес); 0 го изключва. Файлът за композиране задава 0, защото всички заявки на Antimatter споделят един и същ ключ и адрес.
AM_GIFS_LISTEN:8080Адрес за слушане.
AM_GIFS_PUBLIC_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).
MailИнтервал за проверка на непрочетеното (минути) (UnreadCheckMinutes)2 минутиНа колко време се проверяват броячите на непрочетеното, когато пощенският сървър не може да ги изпраща.
MailМаксимален размер на съобщение (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 URLWebhook URL
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 показва webhook адресите.
Оставете Use Preregistered OAuth Application изключено в приложенията за GitHub и GitLab: то разчита на услуга на Mattermost, която Antimatter няма, и приложението отказва да стартира, ако е включено. Регистрирайте собствено OAuth приложение.

Приложенията за 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 не се представя за такъв за тях.