Aplikacje wbudowane
Obrazy Docker Antimatter zawierają zestaw aplikacji (wtyczek, w Konsoli systemu). Ta strona je wymienia, wskazuje, które są włączone po instalacji, i omawia ustawienia wymagane od administratora dla każdej z nich.
Wbudowane aplikacje
Aplikacje są wymieniane jako Wtyczki w Konsoli systemu. Znajdują się w obrazie (w /antimatter/prepackaged_plugins), są podpisane kluczem podpisywania aplikacji Antimatter, dzięki czemu instalują się bez połączenia z Internetem.
Archiwum wydania oraz pakiety .deb i .rpm zawierają mniej aplikacji: zobacz Aplikacje w pakietach i archiwum.
| Aplikacja | Identyfikator aplikacji | Obraz | Włączona po instalacji |
|---|---|---|---|
| Agenci (AI) | mattermost-ai | obie | tak |
| Rozmowy | com.mattermost.calls | obie | tak |
| Kanban | focalboard | obie | tak |
| Playbooki | playbooks | obie | tak |
| GitHub | github | obie | nie |
| GitLab | com.github.manland.mattermost-plugin-gitlab | obie | nie |
| Jira | jira | obie | nie |
| Metryki | com.mattermost.mattermost-plugin-metrics | obie | nie |
| Kanały głosowe | com.antimatterchat.voice-channels | antimatter-next | tak |
| Ankiety | com.antimatterchat.polls | antimatter-next | tak |
| Notatki | com.antimatterchat.notes | antimatter-next | tak |
| Biała tablica | com.antimatterchat.whiteboard | antimatter-next | tak |
| Poczta | com.antimatterchat.mail | antimatter-next | tak |
| Kalendarz | com.antimatterchat.calendar | antimatter-next | tak |
| GIF-y | com.antimatterchat.gifs | antimatter-next | tak |
| Memy | memes | antimatter-next | nie |
| Do zrobienia | com.mattermost.plugin-todo | antimatter-next | nie |
Aplikacje włączone domyślnie są instalowane przy każdym uruchomieniu, jeśli jeszcze nie są, lub aktualizowane, jeśli obraz zawiera nowszą wersję. Jeśli wyłączysz jedną z nich, pozostanie wyłączona: wartość domyślna dotyczy tylko aplikacji, które nie są jeszcze wymienione w konfiguracji. Aplikacje zachowujące identyfikator Mattermost (Agenci, Rozmowy, Kanban, Playbooki i integracje) to własne buildy Antimatter.
Włączanie, wyłączanie i konfigurowanie aplikacji
Przejdź do Konsola systemu › Wtyczki › Zarządzanie wtyczkami. Pod Zainstalowane wtyczki każda aplikacja ma opcje Włącz lub Wyłącz, Ustawienia i Usuń, a także wyświetla swój stan (Uruchamiana, Nie uruchomiona, Błąd uruchomienia…). Każda aplikacja z ustawieniami ma również własną stronę pod Konsola systemu › Wtyczki.
Wbudowane aplikacje, które są domyślnie wyłączone, są instalowane z własnej kopii obrazu: kliknij swoje zdjęcie na górze paska aplikacji i wybierz Sklep z Aplikacjami (w klasycznym interfejsie znajduje się w menu produktu), znajdź aplikację i kliknij Zainstaluj, a następnie włącz ją w Zarządzaniu wtyczkami. Z wiersza poleceń:
docker compose exec antimatter amctl --local plugin marketplace install github
docker compose exec antimatter amctl --local plugin enable github
Inne polecenia: amctl plugin list, amctl plugin disable <id>, amctl plugin delete <id>.
Włączanie aplikacji przez konfigurację
Które aplikacje są włączone, określa ustawienie PluginSettings.PluginStates, będące mapą identyfikatorów aplikacji. Możesz dołączyć do niej wpisy za pomocą amctl; przy włączonym Włącz Automatycznie Przygotowane Wtyczki (ustawienie domyślne) włączona wbudowana aplikacja zostanie zainstalowana przy następnym uruchomieniu:
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
To również sposób na instalację aplikacji Do zrobienia, która nie jest oferowana w oknie sklepu. Zmienna AM_PLUGINSETTINGS_PLUGINSTATES również działa, ale zastępuje całą mapę: wymień wszystkie aplikacje, które chcesz włączyć.
Ustawienia aplikacji
Ustawienia aplikacji są przechowywane pod PluginSettings.Plugins.<app id>, a klucze zapisywane są małymi literami. Możesz je zmienić na stronie Konsola systemu danej aplikacji lub za pomocą polecenia amctl config patch, jak opisano w sekcji Konfiguracja. Zmienna AM_PLUGINSETTINGS_PLUGINS zastępuje ustawienia wszystkich aplikacji naraz i blokuje je, dlatego należy jej unikać.
GIF-y
Aplikacja GIFy dodaje zakładkę GIF-ów i naklejek do okna wyboru emoji, opartą na usłudze GIF-ów Antimatter (gifs-server), która komunikuje się z API Tenor. Plik compose witryny uruchamia usługę i konfiguruje aplikację za pomocą zmiennych. Jej ustawienia, w Konsola systemu › Wtyczki › GIFy:
| Ustawienie | Zmienna (wartość domyślna) | Domyślnie | Opis |
|---|---|---|---|
| Adres URL usługi GIF | AM_GIFS_SERVICE_URL | pusta | Podstawowy adres API usługi, na przykład http://gifs:8080/v2. Funkcja GIF jest wyłączona, gdy to pole jest puste. |
| Klucz API | AM_GIFS_API_KEY | pusta | Jeden z kluczy AM_GIFS_API_KEYS usługi. |
| Klucz przesyłania | AM_GIFS_UPLOAD_KEY | pusta | Jeden z kluczy AM_GIFS_UPLOAD_KEYS usługi. Pozwala użytkownikom dodawać GIF-y i naklejki z okna wyboru oraz usuwać te dodane w ten sposób. Puste pole wyłącza przesyłanie. |
| Kto może dodawać GIF-y i naklejki | Administratorzy systemu | Administratorzy systemu lub Wszyscy. Goście nigdy nie mogą, podobnie jak w przypadku niestandardowych emoji. To, co dodają użytkownicy, jest dostępne dla wszystkich; osoba, która dodała element, oraz administratorzy systemu mogą go usunąć. | |
| Włącz naklejki | włączone | Wyświetla zakładkę z naklejkami. | |
| Filtr treści | średni | wysoki, średni, niski lub wyłączony. | |
| Serwuj media przez Antimatter | włączone | Przeglądarki pobierają GIF-y z Antimatter, a ten pobiera je z usługi. Pozostaw to włączone, jeśli usługa jest dostępna tylko w sieci wewnętrznej. | |
| Adres URL mediów | /media/ usługi | Lokalizacja mediów, gdy są serwowane bezpośrednio. | |
| Rozmiar pamięci podręcznej (MB) | 64 MB | Pamięć podręczna aplikacji. |
W przypadku tej aplikacji zmienne służą tylko jako wartości domyślne: wartość ustawiona w Konsoli systemu ma pierwszeństwo przed nimi. Jeśli okno wyboru GIF-ów pozostaje puste, sprawdź adres URL usługi i klucz API na tej stronie.
Podczas gdy aplikacja GIFy jest skonfigurowana, jej zakładka zastępuje wbudowany wybór Giphy (Konsola systemu › Integracje › GIF › Włącz wybieranie GIF-ów, ServiceSettings.EnableGifPicker).
Usługa GIF
Usługa przechowuje wszystko w swoim katalogu danych (/data, wolumen gifs): indeks wyszukiwania oraz media. Główne zmienne:
| Zmienna | Domyślnie | Opis |
|---|---|---|
AM_GIFS_API_KEYS | brak | Klucze API oddzielone przecinkami. Bez klucza API jest otwarte dla każdego, kto do niego dotrze. Kilka kluczy umożliwia ich rotację. |
AM_GIFS_UPLOAD_KEYS | brak | Klucze upoważnione do przesyłania oraz usuwania przesłanych elementów. Bez klucza przesyłanie jest niemożliwe. |
AM_GIFS_RATE_LIMIT | 20 | Liczba żądań na sekundę na klienta (klucz API i adres); 0 wyłącza limit. Plik compose ustawia 0, ponieważ wszystkie żądania Antimatter współdzielą jeden klucz i adres. |
AM_GIFS_LISTEN | :8080 | Adres nasłuchiwania. |
AM_GIFS_PUBLIC_URL | z żądań | Zewnętrzny adres URL, jeśli udostępniasz usługę. |
AM_GIFS_TRUST_PROXY | false | Ufaj nagłówkom X-Forwarded-*, tylko za proxy. |
AM_GIFS_UPLOAD_MAX_MB | 16 | Największy przesłany plik. |
Aby dodać własne GIF-y hurtowo, zaimportuj je za pomocą manifestu z katalogu zamontowanego w jednorazowym kontenerze:
docker compose run --rm -v "$PWD/my-gifs:/import:ro" gifs import -manifest /import/manifest.json
Aby zaimportować ponownie naklejki startowe po aktualizacji: docker compose run --rm gifs stickers. Format manifestu i inne polecenia znajdziesz w README serwera GIF-ów.
Poczta i Kalendarz
Poczta i Kalendarz łączą każdą osobę z jej własną skrzynką pocztową (IMAP i SMTP) oraz własnym kalendarzem (CalDAV). Osoby wprowadzają w aplikacji dane serwera i hasło; hasła są przechowywane w zaszyfrowanej formie. Nie konfigurujesz dla nich serwerów poczty ani kalendarza, ale decydujesz, do czego mogą się łączyć:
| Aplikacja | Ustawienie | Domyślnie | Opis |
|---|---|---|---|
| Poczta, Kalendarz | Dozwól serwery poczty w sieciach prywatnych, Dozwól serwery kalendarza w sieciach prywatnych (AllowPrivateNetworks) | Wyłączone | Wyłączone, serwer odmawia łączenia się z adresami pętli, prywatnymi i link-local, dzięki czemu aplikacje nie mogą być użyte do uzyskania dostępu do wewnętrznej sieci. Włącz tę opcję, jeśli serwer poczty lub kalendarza znajduje się pod adresem prywatnym. |
| Poczta, Kalendarz | Dozwól połączenia niezaszyfrowane (AllowInsecureConnections) | Wyłączone | Wyłączone, połączenia muszą używać TLS (Poczta: TLS lub STARTTLS; Kalendarz: HTTPS). |
| Poczta | Interwał sprawdzania nieprzeczytanych (minuty) (UnreadCheckMinutes) | 2 minuty | Jak często sprawdzane są liczniki nieprzeczytanych, gdy serwer poczty nie może ich wysyłać aktywnie. |
| Poczta | Największy rozmiar wiadomości (MB) (MaxMessageSizeMB) | 25 MB | Limit rozmiaru wysyłanych i odczytywanych wiadomości. |
| Kalendarz | Wysyłaj przypomnienia (EnableReminders) | włączone | Bot Kalendarza wysyła wiadomość bezpośrednią przed wydarzeniami (10 minut przed, w przypadku wydarzeń bez własnego alarmu). |
Aby umożliwić osobom logowanie do skrzynek Gmail lub Microsoft 365 za pomocą ich konta, zamiast hasła, utwórz klienta OAuth i wypełnij pola Google lub Microsoft w aplikacji Poczta:
- Google: klient OAuth Web z API Gmail i zakresem
https://mail.google.com/. - Microsoft: aplikacja Entra ID z uprawnieniami delegowanymi
IMAP.AccessAsUser.All,SMTP.Send,offline_access,openid,emailiprofile. Domyślnie najemcą jestcommon. - W obu przypadkach URI przekierowania to
https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback(adres URL Twojej strony).
Kanban, Notatki, Biała tablica, Ankiety i Playbooki
- Kanban (
focalboard) otwiera się w bocznym panelu obok rozmowy, podobnie jak Playbooks. Stare linki do stron/kanban/…i/boards/…otwierają tę samą tablicę lub kartę w społeczności. Jedyny parametr, Włącz publicznie udostępniane tablice (EnablePublicSharedBoards, wyłączony), pozwala twórcom tablic udostępniać je każdemu, kto posiada link, bez konieczności logowania. - Notatki i Ankiety nie mają ustawień.
- Biała tablica: administratorzy systemu mogą w ustawieniach serwera przesłać biblioteki kształtów (pliki Excalidraw
.excalidrawlib, do 5 MB każdy) dla całego serwera. Administratorzy społeczności zarządzają bibliotekami własnej społeczności. - Playbooki otwiera się w bocznym panelu. Stare linki do stron
/playbooks/…otwierają ten sam przebieg lub playbook w społeczności. Posiada kilka ustawień, głównie eksperymentalnych funkcji; wartości domyślne nadają się do większości serwerów. - Memy: Kto może dodawać szablony memów: Wszyscy (domyślnie), Administratorzy systemu lub Nikt (wyłączone niestandardowe szablony), co blokuje dodawanie nowych szablonów, a już dodane pozostają w użyciu. Goście nigdy nie dodają szablonów. Osoba, która dodała szablon, oraz administratorzy systemu mogą go usunąć.
- Do zrobienia nie ma ustawień serwera.
GitHub, GitLab i Jira
Te aplikacje łączą Antimatter z Twoim hostem kodu i systemem śledzenia problemów. Każda wymaga aplikacji OAuth po drugiej stronie oraz webhooka wskazującego z powrotem na Antimatter. Włącz aplikację, a następnie uruchom jej polecenie konfiguracji w dowolnym kanale, które przeprowadzi Cię krok po kroku: /github setup, /gitlab setup lub /jira setup.
| Aplikacja | Adres URL przekierowania OAuth | Adres URL webhooka |
|---|---|---|
| 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> lub /jira instance install cloud-oauth <url>; /jira webhook wyświetla adresy URL webhooków. | |
Aplikacje GitHub i GitLab generują sekret webhooka i klucz szyfrowania przy pierwszym zapisie. Aplikację GitHub można ograniczyć do organizacji (GithubOrg), a aplikację GitLab do grupy (GitlabGroup); w przypadku GitHub Enterprise lub własnego hostingu GitLab ustaw jego adres URL bazowy.
Metryki
Aplikacja Metryki zbiera metryki wydajności serwera do małej bazy danych szeregu czasowego wewnątrz Antimatter, dzięki czemu możesz je pobrać lub dołączyć do pakietu wsparcia bez uruchamiania Prometheus. Po uruchomieniu włącza punkt końcowy metryk serwera (MetricsSettings.Enable). Zobacz Operacje.
Instalowanie innych aplikacji
Antimatter uruchamia aplikacje Mattermost (wtyczki). Trzy sposoby dodania jednej z nich:
- Z zdalnego sklepu z wtyczkami. Włącz Remote Marketplace (
PluginSettings.EnableRemoteMarketplace) jest domyślnie wyłączony, a Adres URL sklepu z wtyczkami (PluginSettings.MarketplaceURL) jest pusty: Antimatter nie korzysta ze sklepu z wtyczkami Mattermost i ignoruje jego adres, jeśli konfiguracja z Mattermost go zawiera. Aby wyświetlić aplikacje z serwera sklepu, któremu ufasz, włącz to ustawienie i podaj jego adres URL. Wersje aplikacji dostarczanych przez Antimatter (Rozmowy, Playbooki, Kanban i inne) z tego sklepu są ukryte, więc nie mogą zastąpić wersji Antimatter: Zezwalaj na wersje wtyczek Antimatter z Marketplace (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) jest domyślnie wyłączony. - Przez przesłanie pakietu (
.tar.gz). Przesyłanie jest domyślnie wyłączone i nie ma przełącznika w Konsoli systemu: ustawAM_PLUGINSETTINGS_ENABLEUPLOADS=true, a następnie użyj opcji Wyślij Wtyczkę w Zarządzaniu wtyczkami lub poleceniaamctl --local plugin add app.tar.gz. - Z adresu URL:
amctl plugin install-url <url>, również przy włączonym przesyłaniu.
Antimatter weryfikuje sygnatury aplikacji względem kluczy, którym ufa: klucz Antimatter, klucz, którym Mattermost, Inc. podpisuje swoje publikowane aplikacje (dzięki czemu aplikacja Mattermost pobrana samodzielnie może zostać zainstalowana) oraz dowolny klucz dodany w PluginSettings.SignaturePublicKeyFiles. Jeśli Wymagaj sygnatury wtyczki (PluginSettings.RequirePluginSignature, domyślnie wyłączone) jest włączone, aplikacje bez sygnatury są odrzucane, a przesyłanie jest wyłączone.
Niektóre aplikacje przeznaczone dla płatnych edycji Mattermost samodzielnie sprawdzają licencję Mattermost i odmawiają działania; Antimatter nie udaje, że posiada taką licencję.