Mga app na kasama sa Antimatter

Ang mga Docker image ng Antimatter ay may kasamang set ng app (plugin, sa System Console). Ipinapakita ng pahinang ito ang mga ito, sinasabi kung alin ang naka-on pagkatapos mag-install, at tinatalakay ang mga setting na kailangan ng bawat isa mula sa administrator.

Ang mga app na kasama

Ang mga app ay nakalista bilang Mga Plugin sa System Console. Nasa image sila (sa /antimatter/prepackaged_plugins), at nakasign gamit ang Antimatter app signing key, kaya nag-i-install sila nang walang koneksyon sa Internet.

Ang release archive at ang mga .deb at .rpm package ay may mas kaunting app: tingnan ang Mga App sa package at archive.

AppApp idImageNaka-on pagkatapos mag-install
AI chatmattermost-aiparehooo
Tawagcom.mattermost.callsparehooo
GitHubgithubparehohindi
GitLabcom.github.manland.mattermost-plugin-gitlabparehohindi
Jirajiraparehohindi
Metricscom.mattermost.mattermost-plugin-metricsparehohindi
Voice channelcom.antimatterchat.voice-channelsantimatter-nextoo
Pollcom.antimatterchat.pollsantimatter-nextoo
Talacom.antimatterchat.notesantimatter-nextoo
Whiteboardcom.antimatterchat.whiteboardantimatter-nextoo
Mailcom.antimatterchat.mailantimatter-nextoo
Kalendaryocom.antimatterchat.calendarantimatter-nextoo
GIFcom.antimatterchat.gifsantimatter-nextoo
Memesmemesantimatter-nexthindi
To-docom.mattermost.plugin-todoantimatter-nexthindi

Ang mga app na naka-enable by default ay i-install sa bawat pag-start kung hindi pa ito naka-install, o i-upgrade kung may mas bagong bersyon ang image. Kung pipindutin mo ang isang app, manatiling naka-off ito: ang default ay para lamang sa mga app na hindi pa nabanggit sa configuration. Ang mga app na pinapanatili ang kanilang Mattermost id (AI chat, Calls at ang mga integrations) ay mga sariling build ng Antimatter.

Ang Kanban (focalboard) at Playbooks (playbooks) ay hindi na kasama sa server o sa alinmang image: i-install ang gusto mo mula sa kanilang sariling GitHub release (tingnan ang Apps in the packages and the archive), tulad ng alinmang app na hindi kasama by default. Ang server na may naka-install na isa ay mapapanatili ito sa pag-upgrade. Pareho silang mananatiling mga sariling build ng Antimatter: ang vanilla builds ng Marketplace para sa mga ito ay hindi kailanman papalitan ang mga build ng Antimatter.

I-enable, i-disable, at i-configure ang mga app

Pumunta sa System Console › Mga Plugin › Pamamahala ng Plugin. Sa ilalim ng Mga Installed na Plugin, may Pakapalitan o I-disable, Mga Setting, at Alisin ang bawat app, at ipakikita nito ang kanyang estado (Running, Not running, Failed to start…). Ang bawat app na may mga setting ay may sariling pahina sa ilalim ng System Console › Mga Plugin.

Ang mga bundled na app na off sa default ay inii-install mula sa sariling kopya ng image: i-click ang iyong larawan sa itaas ng app rail at piliin ang App Marketplace (sa classic interface, nasa product menu ito), hanapin ang app at i-click ang I-install, tapos i-enable ito sa Plugin Management. Mula sa command line:

docker compose exec antimatter amctl --local plugin marketplace install github
docker compose exec antimatter amctl --local plugin enable github

Iba pang command: amctl plugin list, amctl plugin disable <id>, amctl plugin delete <id>.

I-enable ang mga app sa pamamagitan ng configuration

Ang mga naka-on na app ay ang setting na PluginSettings.PluginStates, isang map ng mga app id. Maaari mong pagsamahin ang mga entry nito gamit ang amctl; kapag naka-on ang Pagganap ng Automatic Prepackaged Plugins (ang default), ang naka-enable na bundled app ay nag-i-install sa susunod na pag-start:

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

Ito rin ang paraan ng pag-install ng To-do, na hindi inaalok sa dialog ng Marketplace. Ang variable AM_PLUGINSETTINGS_PLUGINSTATES ay gumagana rin, ngunit pinapalit nito ang buong map: i-list ang bawat app na gusto mong naka-on.

Mga setting ng app

Nakala ang mga setting ng app sa PluginSettings.Plugins.<app id>, na may mga key sa lower case. I-modify ang mga ito sa pahina ng System Console ng app, o gamit ang amctl config patch ayon sa Configuration. Ang AM_PLUGINSETTINGS_PLUGINS ay pumapalit sa mga setting ng lahat ng app sa isang beses at nilalok ang lahat, kaya iwasan ito.

GIF

Ang GIFs app ay nagdadagdag ng tab para sa GIF at sticker sa emoji picker, na pinapalakas ng GIF service ng Antimatter (gifs-server), na gumagamit ng Tenor API. Ang compose file ng site ay nagpapatakbo ng service at nagse-configure ng app gamit ang mga variable. Ang mga setting nito, sa System Console › Mga Plugin › Mga GIF:

SettingVariable (fallback)DefaultGinagawa nito
URL ng GIF serviceAM_GIFS_SERVICE_URLwalang lamanAng API base ng service, halimbawa http://gifs:8080/v2. Patay ang GIF habang walang laman ito.
API keyAM_GIFS_API_KEYwalang lamanIsa sa mga AM_GIFS_API_KEYS ng service.
Upload keyAM_GIFS_UPLOAD_KEYwalang lamanIsa sa mga AM_GIFS_UPLOAD_KEYS ng serbisyo. Nagpapahintulot sa mga tao na magdagdag ng GIF at sticker mula sa picker, at mabura ang mga naidagdag gamit ang paraan na ito. Kung walang laman, off ang mga upload.
Sino ang maaaring magdagdag ng GIF at stickerMga system adminSystem admins, o Lahat. Hindi kailanman maaari ng mga Bisita, katulad ng custom emoji. Ang mga naidagdag ng mga tao ay available sa lahat; ang taong nagdagdag at ang mga system administrator ang maaari itong burahin.
Pagpapatupad ng stickersonIpinapakita ang tab ng sticker.
Content filtermediumhigh, medium, low, o off.
I-serve ang media sa pamamagitan ng AntimatteronI-load ng mga browser ang GIF mula sa Antimatter, na hihikain ang mga ito mula sa service. Ituloy ang on nito kapag ang service ay nasa internal network mo lamang.
Media URLang /media/ ng serviceNasaan ang mga media, kapag direkta ang pag-serve.
Laki ng cache (MB)64 MBMemory cache ng app.

Para sa app na ito, ang mga variable ay fallback lamang: ang value na nakaset sa System Console ay mananalo sa kanila. Kung patuloy na walang laman ang GIF picker, suriin ang service URL at API key sa pahinang iyon.

Habang naka-configure ang GIFs app, ang tab nito ay pampalit sa built-in na Giphy picker (System Console › Mga Integration › GIF › Pahintulutan ang GIF Picker, ServiceSettings.EnableGifPicker).

Ang GIF service

Nanatili ang service ng lahat sa data directory nito (/data, ang gifs volume): ang search index at ang mga media. Ang mga pangunahing variable nito:

VariableDefaultGinagawa nito
AM_GIFS_API_KEYSwalang lamanMga API key na hinahati ng comma. Walang key, bukas ang API sa sinumang makakarating dito. Maraming key ay nagpapahintulot sa pag-rotate ng mga ito.
AM_GIFS_UPLOAD_KEYSwalang lamanMga key na pinapahintulot ang upload, at ang pagbura ng mga na-upload. Walang upload nang walang isa.
AM_GIFS_RATE_LIMIT20Mga request bawat segundo bawat client (API key at address); ang 0 ay patay nito. Inilalagay ng compose file ang 0, dahil ang lahat ng request ng Antimatter ay nagbabahagi ng isang key at address.
AM_GIFS_LISTEN:8080Listen address.
AM_GIFS_PUBLIC_URLmula sa mga requestExternal URL, kung ipapakita mo ang serbisyo.
AM_GIFS_TRUST_PROXYfalseTiwalaan ang mga X-Forwarded-* headers, sa likod ng proxy lamang.
AM_GIFS_UPLOAD_MAX_MB16Pinakamalaking na-upload na file.

Para magdagdag ng sarili mong GIFs nang marami, i-import sila gamit ang manifest mula sa isang directory na nakamont sa isang one-off container:

docker compose run --rm -v "$PWD/my-gifs:/import:ro" gifs import -manifest /import/manifest.json

Para mag-re-import ng mga starter stickers pagkatapos ng upgrade: docker compose run --rm gifs stickers. Ang format ng manifest at ang ibang mga command ay nasa gifs-server README.

Mail at Kalendaryo

Pinag-uugnay ng Mail at Kalendaryo ang bawat tao sa sarili nilang mailbox (IMAP at SMTP) at sarili nilang kalendaryo (CalDAV). Sinusulat ng mga tao ang kanilang server at password sa app; ang mga password ay na-encrypt. Hindi mo na-i-configure ang mga mail o calendar server para sa kanila, ngunit ikaw ang nagdedesisyon kung ano ang maaari nilang i-connect:

AppSettingDefaultGinagawa nito
Mail, KalendaryoPayagan ang mga mail server sa pribadong network, Payagan ang mga calendar server sa pribadong network (AllowPrivateNetworks)OffOff, tinatanggi ng server ang koneksyon sa loopback, pribado, at link-local na mga address, kaya hindi maaaring gamitin ang mga app upang maabot ang iyong internal network. I-on ito kung nasa pribadong address ang iyong mail o calendar server.
Mail, KalendaryoPayagan ang mga koneksyon na hindi na-encrypt (AllowInsecureConnections)OffOff, dapat gumamit ng TLS ang mga koneksyon (Mail: TLS o STARTTLS; Calendar: HTTPS).
MailInterval ng pag-check ng hindi nabasa (minuto) (UnreadCheckMinutes)2 minutoGaano kadalas na tinutukoy ang bilang ng hindi nabasa kapag hindi nila ma-push ng mail server.
MailPinakamalaking laki ng mensahe (MB) (MaxMessageSizeMB)25 MBLimitasyon ng laki ng mga mensaheng ipinadala at binasa.
KalendaryoIpadala ang mga paalala (EnableReminders)onIpinadala ng Calendar bot ang isang Direct Message bago ang mga kaganapan (10 minuto bago, para sa mga kaganapan na walang sariling alarm).

Para payagan ang mga tao na mag-sign in sa Gmail o Microsoft 365 mailboxes gamit ang kanilang account sa halip na password, gumawa ng isang OAuth client at punan ang Google o Microsoft fields ng Mail app:

  • Google: isang Web OAuth client na may Gmail API at scope https://mail.google.com/.
  • Microsoft: isang Entra ID app na may mga delegated permissions IMAP.AccessAsUser.All, SMTP.Send, offline_access, openid, email at profile. Ang tenant ay common bilang default.
  • Sa pareho, ang redirect URI ay https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback (URL ng iyong site).

Kanban, Tala, Whiteboard, Poll at Playbook

  • Ang Kanban (focalboard) ay bukas sa kanyang side panel sa tabi ng usapan, katulad ng Playbooks. Ang mga lumang link sa mga pahina ng /kanban/… at /boards/… ay bukas ang parehong board o card sa isang community. Ang tanging setting nito, Enable Publicly-Shared Boards (EnablePublicSharedBoards, off), ay nagpapahintulot sa mga editor ng board na magbahagi ng board sa sinumang may link, nang walang sign in.
  • Walang mga setting ang Notes at Polls.
  • Whiteboard: maaaring i-upload ng mga system administrator ang mga shape library (Excalidraw .excalidrawlib files, hanggang 5 MB bawat isa) para sa buong server sa settings page nito. Pinangangalagaan ng mga community admin ang sarili nilang library ng community.
  • Ang Playbooks ay bukas sa kanyang side panel. Ang mga lumang link sa mga pahina ng /playbooks/… ay bukas ang parehong run o playbook sa isang community. May ilang setting ito, karamihan ay mga experimental na feature; ang mga default ay angkop sa karamihan ng mga server.
  • Memes: Sino ang maaaring magdagdag ng meme template: Lahat (ang default), System admins, o Wala (custom templates off), na humihintay ng mga bagong template habang ang mga naidagdag na ay nanatiling gamitin. Hindi kailanman nagdadagdag ng template ang mga Bisita. Ang taong nagdagdag ng template at ang mga system administrator ang maaari itong burahin.
  • Walang server settings ang Todo.

GitHub, GitLab, at Jira

Inuugnay ng mga app na ito ang Antimatter sa iyong code hosting at issue tracker. Kailangan ng bawat isa ng isang OAuth application sa kabilang banda at isang webhook na tumutukoy pabalik sa Antimatter. Pindutin ang app, tapos i-run ang setup command nito sa anumang channel, na magpapaalala sa iyo step by step: /github setup, /gitlab setup, o /jira setup.

AppOAuth 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> o /jira instance install cloud-oauth <url>; ipapakita ng /jira webhook ang mga webhook URL.
Iwan ang Use Preregistered OAuth Application na off sa mga GitHub at GitLab apps: nakadepende ito sa isang Mattermost service na wala sa Antimatter, at ang app ay tumatanggi na tumakbo kung naka-on ito. I-register ang sarili mong OAuth application.

Ginagawa ng mga GitHub at GitLab apps ang webhook secret at encryption key nila sa unang pag-save. Maaaring limitahan ang GitHub app sa mga organisasyon (GithubOrg) at ang GitLab app sa isang grupo (GitlabGroup); para sa GitHub Enterprise o self-hosted GitLab, i-set ang base URL nito.

Metrics

Kinukolekta ng Metrics app ang mga performance metrics ng server sa isang maliit na time-series database sa loob ng Antimatter, kaya maaari mong i-download o isama sa support packet nang hindi kailangang mag-run ng Prometheus. Kapag nagsimula ito, pinapalabas nito ang metrics endpoint ng server (MetricsSettings.Enable). Tingnan ang Operations.

Pag-install ng ibang mga app

Pinapatakbo ng Antimatter ang mga Mattermost apps (plugins). Tatlong paraan para magdagdag ng isa:

  • Mula sa remote marketplace. Ang Pagganap ng Remote Marketplace (PluginSettings.EnableRemoteMarketplace) ay naka-off sa default, at ang Marketplace URL (PluginSettings.MarketplaceURL) ay walang laman: hindi gumagamit ang Antimatter ng marketplace ng Mattermost, at pinapaigil nito ang address nito kung mayroon pa ito sa isang configuration mula sa Mattermost. Para i-list ang mga app ng isang marketplace server na pinagkakatiwalaan, i-on ang setting at itakda ang URL nito. Ang mga build ng marketplace ng mga app na ipinapadala ng Antimatter (Calls, Playbooks, Kanban, at iba pa) ay nakatago, kaya hindi sila maaaring pampalit sa mga ng Antimatter: ang Payagan ang mga Build ng Marketplace ng mga Plugin ng Antimatter (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) ay naka-off sa default.
  • Sa pamamagitan ng pag-upload ng bundle (.tar.gz). Ang mga upload ay naka-off sa default at walang switch sa System Console: itakda ang AM_PLUGINSETTINGS_ENABLEUPLOADS=true, gamitin ang Mag-upload ng Plugin sa Pamamahala ng Plugin, o amctl --local plugin add app.tar.gz.
  • Mula sa URL: amctl plugin install-url <url>, kasama rin ang on na uploads.

Sinusuri ng Antimatter ang mga signature ng app batay sa mga key na pinagkakatiwalaan nito: ang key ng Antimatter, ang key na ginagamit ng Mattermost, Inc. para sa mga published na app (upang maaari mong i-install ang isang Mattermost app na i-download mo mismo), at anumang key na idadagdag mo sa PluginSettings.SignaturePublicKeyFiles. Kapag naka-on ang Kinakailangan ng Plugin Signature (PluginSettings.RequirePluginSignature, off by default), tinatanggi ang mga app na walang signature at pinipigilan ang mga upload.

Ang isang app ay tumatakbo sa loob ng server na may buong access sa data nito. I-install lamang ang mga app na pinagkakatiwalaan mo.

Ang ilang app na gawa para sa mga paid edition ng Mattermost ay sinusuri ang sarili kung mayroon silang Mattermost licence at tumatanggi na tumakbo; hindi nagpapakita ang Antimatter na mayroon sila para sa mga ito.