Integrované aplikace

Dockerové obrazy Antimatter obsahují sadu aplikací (v Systémové konzoli označovaných jako pluginy). Tato stránka je vyjmenovává, uvádí, které jsou povoleny po instalaci, a popisuje nastavení, která pro ně administrátor potřebuje.

Integrované aplikace

Aplikace jsou v Systémové konzoli uvedeny jako Pluginy. Jsou součástí obrazu (v /antimatter/prepackaged_plugins), podepsané klíčem pro podepisování aplikací Antimatter, takže se instalují bez připojení k internetu.

Archiv vydání a balíčky .deb a .rpm obsahují méně aplikací: viz Aplikace v balíčcích a archivu.

AplikaceID aplikaceObrázekPovolené po instalaci
AI chatmattermost-aiobaano
Hovorycom.mattermost.callsobaano
GitHubgithubobane
GitLabcom.github.manland.mattermost-plugin-gitlabobane
Jirajiraobane
Metrikycom.mattermost.mattermost-plugin-metricsobane
Hlasové kanálycom.antimatterchat.voice-channelsantimatter-nextano
Hlasovánícom.antimatterchat.pollsantimatter-nextano
Poznámkycom.antimatterchat.notesantimatter-nextano
Tabulecom.antimatterchat.whiteboardantimatter-nextano
E-mailcom.antimatterchat.mailantimatter-nextano
Kalendářcom.antimatterchat.calendarantimatter-nextano
GIFcom.antimatterchat.gifsantimatter-nextano
Memymemesantimatter-nextne
Úkolycom.mattermost.plugin-todoantimatter-nextne

Aplikace, které jsou ve výchozím nastavení zapnuté, se při každém spuštění nainstalují, pokud ještě nejsou nainstalované, nebo se aktualizují, pokud má image novější verzi. Pokud jednu vypnete, zůstane vypnutá: výchozí nastavení se vztahuje pouze na aplikace, které konfigurace zatím neobsahuje. Aplikace, které si ponechávají svůj identifikátor Mattermost (AI chat, Hovory a integrace), jsou vlastní sestavení Antimatteru.

Kanban (focalboard) a Playbooks (playbooks) už nejsou součástí serveru ani žádného image: nainstalujte požadovanou aplikaci z jejího vlastního vydání na GitHubu (viz Aplikace v balíčcích a archivu), stejně jako jakoukoli jinou aplikaci, která není ve výchozím nastavení součástí instalace. Server, který má jednu z nich již nainstalovanou, si ji zachová i po aktualizaci. Obojí zůstává vlastními sestaveními Antimatteru: původní sestavení těchto aplikací z Marketplace nikdy nenahradí ta od Antimatteru.

Povolení, zakázání a konfigurace aplikací

Přejděte do Systémová konzole › Pluginy › Správa pluginů. V sekci Nainstalované pluginy má každá aplikace možnosti Zapnout nebo Zakázat, Nastavení a Odebrat a zobrazuje svůj stav (Běží, Neběží, Selhání při spuštění…). Každá aplikace s nastaveními má také vlastní stránku v sekci Systémová konzole › Pluginy.

Vestavěné aplikace, které jsou výchozí vypnuté, se instalují z vlastní kopie v obrazu: klikněte na svůj obrázek v horní části lišty s aplikacemi a zvolte Trh s aplikacemi (v klasickém rozhraní se nachází v produktovém menu), najděte aplikaci a klikněte na Nainstalovat, poté ji povolte v Správě pluginů. Z příkazového řádku:

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

Další příkazy: amctl plugin list, amctl plugin disable <id>, amctl plugin delete <id>.

Povolení aplikací přes konfiguraci

Které aplikace jsou zapnuté, určuje nastavení PluginSettings.PluginStates, což je mapa identifikátorů aplikací. Záznamy do ní můžete sloučit pomocí amctl; pokud je zapnuto Povolit automatické předbalované pluginy (výchozí stav), nainstaluje se zapnutá balíčková aplikace při dalším spuštění:

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

Tímto způsobem nainstalujete i Úkoly, které nejsou nabízeny v dialogu trhu s aplikacemi. Proměnná AM_PLUGINSETTINGS_PLUGINSTATES také funguje, ale nahradí celou mapu: vyjmenujte všechny aplikace, které chcete povolené.

Nastavení aplikací

Nastavení aplikací se ukládá pod PluginSettings.Plugins.<app id>, s klíči ve小写字母. Změňte je na stránce Systémová konzole aplikace, nebo pomocí amctl config patch, jak je ukázáno v Konfiguraci. AM_PLUGINSETTINGS_PLUGINS nahrazuje nastavení všech aplikací najednou a uzamkne je všechny, takže se mu vyhněte.

GIF

Aplikace GIFs přidá do výběru emoji záložku pro GIFy a samolepky, která je podpořena službou Antimatter pro GIFy (gifs-server), komunikující přes API Tenor. Compose soubor webu spouští službu a konfiguruje aplikaci pomocí proměnných. Její nastavení, v Systémová konzole › Pluginy › GIFs:

NastaveníProměnná (záložní)VýchozíCo dělá
URL služby GIFAM_GIFS_SERVICE_URLprázdnéZákladní API adresa služby, například http://gifs:8080/v2. GIFy jsou vypnuté, dokud je pole prázdné.
API klíčAM_GIFS_API_KEYprázdnéJeden z klíčů AM_GIFS_API_KEYS služby.
Klíč pro nahráváníAM_GIFS_UPLOAD_KEYprázdnéJeden z klíčů služby AM_GIFS_UPLOAD_KEYS. Umožňuje uživatelům přidávat GIFy a samolepky z výběrového okna a mazat ty, které tímto způsobem přidali. Prázdná hodnota nahrávání vypne.
Kdo může přidávat GIFy a samolepkySystémoví administrátořiSystémoví administrátoři nebo Všichni. Hosté to nikdy nemohou, stejně jako u vlastních emoji. To, co lidé přidají, je dostupné všem; osoba, která to přidala, a systémoví administrátoři to mohou smazat.
Povolit samolepkyzapnutoZobrazí záložku pro samolepky.
Filtr obsahustřednívysoký, střední, nízký nebo vypnuto.
Servisovat média přes AntimatterzapnutoProhlížeče načítají GIFy z Antimatteru, který je získá ze služby. Nechte zapnuto, pokud je služba dostupná pouze na vašem interním síti.
URL médií/media/ službyKde se média nacházejí, pokud jsou servírována přímo.
Velikost mezipaměti (MB)64 MBMezipaměť v paměti aplikace.

Pro tuto aplikaci jsou proměnné pouze záložní: hodnota nastavená v Systémové konzoli má přednost. Pokud zůstane výběr GIFů prázdný, zkontrolujte URL služby a API klíč na této stránce.

Pokud je aplikace GIFs nakonfigurována, její záložka nahradí vestavěný výběr Giphy (Systémová konzole › Integrace › GIF › Povolit výběr GIFů, ServiceSettings.EnableGifPicker).

Služba pro GIFy

Služba ukládá vše do svého datového adresáře (/data, svazek gifs): index pro vyhledávání a média. Její hlavní proměnné:

ProměnnáVýchozíCo dělá
AM_GIFS_API_KEYSžádnáAPI klíče oddělené čárkami. Bez klíče je API otevřené pro kohokoli, kdo se k němu dostane. Více klíčů umožňuje jejich rotaci.
AM_GIFS_UPLOAD_KEYSžádnáKlíče povolené k nahrávání a mazání toho, co bylo nahráno. Bez klíče není možné nic nahrát.
AM_GIFS_RATE_LIMIT20Počet požadavků za sekundu na klienta (API klíč a adresa); 0 to vypne. Compose soubor nastavuje 0, protože všechny požadavky Antimatteru sdílejí jeden klíč a adresu.
AM_GIFS_LISTEN:8080Posluchová adresa.
AM_GIFS_PUBLIC_URLz požadavkůExterní URL, pokud službu zveřejňujete.
AM_GIFS_TRUST_PROXYfalseDůvěřovat hlavičkám X-Forwarded-*, pouze za proxy.
AM_GIFS_UPLOAD_MAX_MB16Největší nahrávaný soubor.

Pokud chcete hromadně přidat vlastní GIFy, importujte je pomocí manifestu z adresáře připojeného do jednorázového kontejneru:

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

Pokud chcete po aktualizaci znovu importovat výchozí samolepky: docker compose run --rm gifs stickers. Formát manifestu a ostatní příkazy najdete v README projektu gifs-server.

Pošta a kalendář

Pošta a kalendář propojí každého uživatele s jeho vlastní poštovní schránkou (IMAP a SMTP) a jeho vlastním kalendářem (CalDAV). Uživatelé zadají v aplikaci svůj server a heslo; hesla se ukládají zašifrovaná. Vy nekonfigurujete poštovní ani kalendářové servery za ně, ale určíte, na co se mohou připojit:

AplikaceNastaveníVýchozíCo dělá
Pošta, kalendářPovolit poštovní servery v soukromých sítích, Povolit kalendářové servery v soukromých sítích (AllowPrivateNetworks)VypnutoVypnuto, server odmítá připojení k smyčkovým, soukromým a link-local adresám, takže aplikacemi nelze dosáhnout na vaši vnitřní síť. Zapněte, pokud je váš poštovní nebo kalendářový server na soukromé adrese.
Pošta, kalendářPovolit nešifrované připojení (AllowInsecureConnections)VypnutoVypnuto, připojení musí používat TLS (Pošta: TLS nebo STARTTLS; Kalendář: HTTPS).
E-mailInterval kontroly nepřečtených (minuty) (UnreadCheckMinutes)2 minutyJak často se kontrolují počty nepřečtených, když poštovní server nedokáže posílat aktualizace.
E-mailNejvětší velikost zprávy (MB) (MaxMessageSizeMB)25 MBLimit velikosti odesílaných a čtených zpráv.
KalendářOdesílat připomínky (EnableReminders)zapnutoBot Kalendáře odesílá přímou zprávu před událostmi (10 minut předem, pro události bez vlastního alarmu).

Pokud chcete, aby se lidé mohli přihlásit do poštovních schránek Gmail nebo Microsoft 365 pomocí svého účtu místo hesla, vytvořte OAuth klienta a vyplňte pole Google nebo Microsoft v aplikaci Pošta:

  • Google: webový OAuth klient s Gmail API a rozsahem https://mail.google.com/.
  • Microsoft: aplikace Entra ID s delegovanými oprávněními IMAP.AccessAsUser.All, SMTP.Send, offline_access, openid, email a profile. Nájemce je výchozí common.
  • V obou případech je přesměrovací URI https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback (URL vašeho webu).

Kanban, poznámky, tabule, hlasování a playbooks

  • Kanban (focalboard) se otevírá v bočním panelu vedle konverzace, stejně jako Playbooks. Staré odkazy na stránky /kanban/… a /boards/… otevřou stejnou nástěnku nebo kartu v komunitě. Jediné nastavení, Povolit veřejně sdílené nástěnky (EnablePublicSharedBoards, vypnuto), umožňuje editorům nástěnky sdílet nástěnku s kýmkoli, kdo má odkaz, bez přihlášení.
  • Aplikace Poznámky a Hlasování nemají žádná nastavení.
  • Tabule: systémoví administrátoři mohou v nastavení serveru nahrát knihovny tvarů (soubory Excalidraw .excalidrawlib, každý do 5 MB) pro celý server. Administrátoři komunit spravují knihovny své komunity.
  • Playbooks se otevírá v bočním panelu. Staré odkazy na stránky /playbooks/… otevřou stejný běh nebo playbook v komunitě. Má několik nastavení, většinou experimentálních funkcí; výchozí hodnoty vyhovují většině serverů.
  • Memes: Kdo může přidávat šablony memů: Všichni (výchozí), Systémoví administrátoři nebo Nikdo (vlastní šablony vypnuty), což zastaví přidávání nových šablon, zatímco ty již přidané zůstanou použitelné. Hosté nikdy nepřidávají šablony. Osoba, která šablonu přidala, a systémoví administrátoři ji mohou smazat.
  • Aplikace Úkoly nemá žádná serverová nastavení.

GitHub, GitLab a Jira

Tyto aplikace propojují Antimatter s vaším hostitelem kódu a systémem pro správu chyb. Každá vyžaduje OAuth aplikaci na druhé straně a webhook směřující zpět do Antimatter. Zapněte aplikaci a poté spusťte její instalační příkaz v libovolném kanálu, který vás provede postupně krok za krokem: /github setup, /gitlab setup nebo /jira setup.

AplikaceOAuth 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> nebo /jira instance install cloud-oauth <url>; příkaz /jira webhook vypíše adresy webhooků.
V aplikacích GitHub a GitLab nechte Použít předregistrovanou OAuth aplikaci vypnuté: tato možnost spoléhá na službu Mattermost, kterou Antimatter nemá, a aplikace s touto volbou zapnutou odmítne spustit. Zaregistrujte si vlastní OAuth aplikaci.

Aplikace GitHub a GitLab vygenerují svůj webhook secret a šifrovací klíč při prvním uložení. Aplikaci GitHub lze omezit na organizace (GithubOrg) a aplikaci GitLab na skupinu (GitlabGroup); pro GitHub Enterprise nebo samostatně hostovaný GitLab nastavte jeho základní URL.

Metriky

Aplikace Metrics sbírá výkonové metriky serveru do malé časové řady databáze uvnitř Antimatter, takže je můžete stáhnout nebo je zahrnout do podpůrného balíčku bez nutnosti spouštět Prometheus. Při spuštění zapne metrikový endpoint serveru (MetricsSettings.Enable). Viz Provoz.

Instalace dalších aplikací

Antimatter běží s aplikacemi Mattermost (pluginy). Tři způsoby, jak aplikaci přidat:

  • Z vzdáleného tržiště. Povolit vzdálené tržiště (PluginSettings.EnableRemoteMarketplace) je ve výchozím nastavení vypnuté a URL tržiště (PluginSettings.MarketplaceURL) je prázdné: Antimatter nepoužívá tržiště Mattermost a ignoruje jeho adresu, pokud se v konfiguraci z Mattermostu stále nachází. Chcete-li zobrazit aplikace ze serveru tržiště, kterému důvěřujete, zapněte toto nastavení a zadejte jeho URL. Builds aplikací, které Antimatter dodává (Calls, Playbooks, Kanban a další), jsou z tohoto tržiště skryty, aby nemohly nahradit verze od Antimatter: Povolit builds z Marketplace pro pluginy Antimatter (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) je ve výchozím nastavení vypnuté.
  • Nahráním balíčku (.tar.gz). Nahrávání je výchozí vypnuté a v Systémové konzoli nemá přepínač: nastavte AM_PLUGINSETTINGS_ENABLEUPLOADS=true, poté použijte Nahrát plugin v Správě pluginů, nebo amctl --local plugin add app.tar.gz.
  • Z adresy URL: amctl plugin install-url <url>, také s povoleným nahráváním.

Antimatter ověřuje podpisy aplikací podle klíčů, kterým důvěřuje: klíč Antimatter, klíč, jímž společnost Mattermost, Inc. podepisuje své publikované aplikace (tím se dají nainstalovat i aplikace Mattermost, které si sami stáhnete), a jakýkoli klíč, který přidáte do PluginSettings.SignaturePublicKeyFiles. Pokud je zapnuto Vyžadovat podpis pluginu (PluginSettings.RequirePluginSignature, ve výchozím nastavení vypnuté), nepodepsané aplikace se zamítnou a nahrávání je zakázáno.

Aplikace běží na serveru a má plný přístup k jeho datům. Nainstalujte pouze aplikace, kterým důvěřujete.

Některé aplikace vytvořené pro placené edice Mattermost si samy kontrolují licenci Mattermost a odmítají spustit; Antimatter se u nich nedělá, že by licenci měl.