Aplicații incluse

Imaginile Docker pentru Antimatter includ un set de aplicații (pluginuri, în Consola de sistem). Această pagină le listează, indică care sunt activate după instalare și detaliază setările necesare de la un administrator pentru fiecare.

Aplicațiile incluse

Aplicațiile sunt listate ca Plugin-uri în Consola de sistem. Ele se află în imagine (în /antimatter/prepackaged_plugins), sunt semnate cu cheia de semnare a aplicațiilor Antimatter, astfel încât se instalează fără o conexiune la Internet.

Arhiva de versiuni și pachetele .deb și .rpm includ mai puține aplicații: consultați Aplicațiile din pachete și arhivă.

AplicațieID aplicațieImagineActivată după instalare
Agenți (AI)mattermost-aiambeleda
Apeluricom.mattermost.callsambeleda
Kanbanfocalboardambeleda
Manuale de proceduriplaybooksambeleda
GitHubgithubambelenu
GitLabcom.github.manland.mattermost-plugin-gitlabambelenu
Jirajiraambelenu
Metricecom.mattermost.mattermost-plugin-metricsambelenu
Canale vocalecom.antimatterchat.voice-channelsantimatter-nextda
Sondajecom.antimatterchat.pollsantimatter-nextda
Notecom.antimatterchat.notesantimatter-nextda
Tablă albăcom.antimatterchat.whiteboardantimatter-nextda
E-mailcom.antimatterchat.mailantimatter-nextda
Calendarcom.antimatterchat.calendarantimatter-nextda
GIF-uricom.antimatterchat.gifsantimatter-nextda
Memesmemesantimatter-nextnu
De făcutcom.mattermost.plugin-todoantimatter-nextnu

Aplicațiile activate implicit sunt instalate la fiecare pornire, dacă nu sunt deja, sau actualizate dacă imaginea are o versiune mai nouă. Dacă dezactivați una, rămâne dezactivată: valoarea implicită se aplică doar aplicațiilor pe care configurația nu le menționează încă. Aplicațiile care își păstrează ID-ul Mattermost (Agenți, Apeluri, Kanban, Playbooks și integrările) sunt construcții proprii Antimatter.

Activare, dezactivare și configurare aplicații

Mergeți la Consola de sistem › Plugin-uri › Gestionare. Sub Plugin-uri instalate, fiecare aplicație are opțiunile Permite sau Dezactivați, Setări și Elimină, și afișează starea acesteia (În funcțiune, Neactivă, Eșec la pornire...). Fiecare aplicație cu setări are și propria pagină sub Consola de sistem › Plugin-uri.

Aplicațiile incluse care sunt dezactivate implicit se instalează din copia proprie a imaginii: faceți clic pe imaginea dvs. din partea de sus a barei de aplicații și alegeți Marketplace de aplicații (în interfața clasică, se află în meniul produsului), găsiți aplicația și faceți clic pe Instalați, apoi activați-o în Gestionarea pluginurilor. Din linia de comandă:

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

Alte comenzi: amctl plugin list, amctl plugin disable <id>, amctl plugin delete <id>.

Activarea aplicațiilor prin configurație

Aplicațiile active sunt definite de setarea PluginSettings.PluginStates, o hartă de identificatoare de aplicații. Puteți îmbina intrări în aceasta cu amctl; cu Activați pluginuri preambalate automate activ (implicit), o aplicație inclusă activată este instalată la următoarea pornire:

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

Acesta este și modul de instalare a Todo, care nu este oferit în dialogul Pieței de aplicații. Variabila AM_PLUGINSETTINGS_PLUGINSTATES funcționează, dar înlocuiește harta întregă: enumerați fiecare aplicație pe care doriți să o activați.

Setările aplicațiilor

Setările aplicației sunt stocate sub PluginSettings.Plugins.<app id>, cu chei în litere mici. Modificați-le în pagina Consola de sistem a aplicației, sau cu amctl config patch, așa cum este prezentat în Configurație. AM_PLUGINSETTINGS_PLUGINS înlocuiește setările tuturor aplicațiilor în același timp și le blochează, așa că evitați să o folosiți.

GIF-uri

Aplicația GIF adaugă un tab pentru GIF-uri și stickere la selectorul de emoji, susținut de serviciul GIF al Antimatter (gifs-server), care comunică prin API-ul Tenor. Fișierul de compunere al site-ului rulează serviciul și configurează aplicația prin variabile. Setările acesteia, în Consola de sistem › Plugin-uri › GIF:

SetareVariabilă (valoare implicită)ImplicitCe face
URL-ul serviciului GIFAM_GIFS_SERVICE_URLgolBaza API-ului serviciului, de exemplu http://gifs:8080/v2. GIF-urile sunt dezactivate cât timp este gol.
Cheie APIAM_GIFS_API_KEYgolUna dintre cheile AM_GIFS_API_KEYS ale serviciului.
Cheie de încărcareAM_GIFS_UPLOAD_KEYgolUna dintre cheile de serviciu AM_GIFS_UPLOAD_KEYS. Permite utilizatorilor să adauge GIF-uri și stickere din selector și să ștergă cele adugate în acest mod. Dacă este goală, încărcarea este dezactivată.
Cine poate adăuga GIF-uri și stickereAdministratori de sistemAdministratori de sistem sau Toată lumea. Oaspeții nu pot niciodată, la fel ca în cazul emoji-urilor personalizate. Ce adaugă utilizatorii este disponibil pentru toată lumea; persoana care a adăugat și administratorii de sistem pot șterge.
Activează stickereleactivatAfișează tab-ul de stickere.
Filtru de conținutmediuînalt, mediu, scăzut sau oprit.
Servește media prin AntimatteractivatNavigatoarele încarcă GIF-urile din Antimatter, care le obține de la serviciu. Păstrați-l activat când serviciul este doar pe rețeaua internă.
URL-ul media/media/ al serviciuluiUnde se află media, când sunt servite direct.
Dimensiunea cache-ului (MB)64 MBCache-ul de memorie al aplicației.

Pentru această aplicație, variabilele sunt doar valori implicite: o valoare setată în Consola de sistem are prioritate față de ele. Dacă selectorul de GIF-uri rămâne gol, verificați URL-ul serviciului și cheia API de pe acea pagină.

În timp ce aplicația GIF este configurată, tabul acesteia înlocuiește selectorul Giphy integrat (Consola de sistem › Integrări › GIF (beta) › Activați GIF Picker, ServiceSettings.EnableGifPicker).

Serviciul GIF

Serviciul păstrează totul în directorul de date (/data, volumul gifs): un index de căutare și media. Variabilele sale principale:

VariabilăImplicitCe face
AM_GIFS_API_KEYSniciunaChei API separate prin virgulă. Fără o cheie, API-ul este deschis oricui care îl accesează. Mai multe chei vă permit să le rotiți.
AM_GIFS_UPLOAD_KEYSniciunaCheile permise pentru încărcare și ștergerea elementelor încărcate. Fără o cheie, nu se pot efectua încărcări.
AM_GIFS_RATE_LIMIT20Cereri pe secundă per client (cheie API și adresă); 0 îl dezactivează. Fișierul de compunere setează 0, deoarece toate cererile Antimatter împart o singură cheie și adresă.
AM_GIFS_LISTEN:8080Adresa de ascultare.
AM_GIFS_PUBLIC_URLdin cereriURL extern, dacă expuneți serviciul.
AM_GIFS_TRUST_PROXYfalseÎncredințează în anteturile X-Forwarded-*, doar în spatele unui proxy.
AM_GIFS_UPLOAD_MAX_MB16Cel mai mare fișier încărcat.

Pentru a adăuga în masă propriile GIF-uri, importați-le cu un manifest, dintr-un director montat într-un container unic:

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

Pentru a reimporta sticker-urile inițiale după o actualizare: docker compose run --rm gifs stickers. Formatul manifestului și celelalte comenzi se găsesc în README-ul gifs-server.

Poștă și Calendar

Poșta și Calendarul conectează fiecare persoană la propria cutie poștală (IMAP și SMTP) și la propriul calendar (CalDAV). Persoanele își introduc serverul și parola în aplicație; parolele sunt stocate criptate. Nu configurați servere de poștă sau calendar pentru ele, dar decideți la ce se pot conecta:

AplicațieSetareImplicitCe face
Poștă, CalendarPermite servere de poștă pe rețele private, Permite servere de calendar pe rețele private (AllowPrivateNetworks)dezactivatOprit, serverul refuză să se conecteze la adrese loopback, private și link-local, astfel încât aplicațiile nu pot fi folosite pentru a accesa rețeaua internă. Activați această opțiune dacă serverul de poștă sau calendar este pe o adresă privată.
Poștă, CalendarPermite conexiuni necriptate (AllowInsecureConnections)dezactivatOprit, conexiunile trebuie să folosească TLS (Poștă: TLS sau STARTTLS; Calendar: HTTPS).
E-mailInterval de verificare mesaje necitite (minute) (UnreadCheckMinutes)2 minuteFrecvența cu care se verifică numărul de mesaje necitite atunci când serverul de poștă nu le poate trimite în mod activ.
E-mailDimensiunea maximă a mesajului (MB) (MaxMessageSizeMB)25 MBLimita de dimensiune a mesajelor trimise și citite.
CalendarTrimite memento (EnableReminders)activatBotul Calendar trimite un mesaj direct înainte de evenimente (cu 10 minute înainte, pentru evenimente care nu au propriul alarmă).

Pentru a permite persoanelor să se autentifice în cutiile poștale Gmail sau Microsoft 365 folosind contul în loc de o parolă, creați un client OAuth și completați câmpurile Google sau Microsoft din aplicația Poștă:

  • Google: un client OAuth Web cu API-ul Gmail și domeniul https://mail.google.com/.
  • Microsoft: o aplicație Entra ID cu permisiunile delegate IMAP.AccessAsUser.All, SMTP.Send, offline_access, openid, email și profile. Tenant-ul este common implicit.
  • În ambele cazuri, URI-ul de redirecționare este https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback (URL-ul site-ului dvs.).

Kanban, Note, Tablă albă, Sondaje și Manuale de proceduri

  • Kanban (focalboard) se deschide în panoul lateral, lângă conversație, la fel ca Playbooks. Linkurile vechi către paginile /kanban/… și /boards/… deschid același panou sau card într-o comunitate. Singura sa setare, Enable Publicly-Shared Boards (EnablePublicSharedBoards, dezactivată), permite editorilor de panouri să partajeze un panou cu oricine are linkul, fără a se autentifica.
  • Notes și Polls nu au setări.
  • Whiteboard: administratorii de sistem pot încărca biblioteci de forme (fișiere Excalidraw .excalidrawlib, de cel mult 5 MB fiecare) pentru întregul server din pagina de setări. Administratorii de comunitate își gestionează propriile biblioteci ale comunității.
  • Playbooks se deschide în panoul lateral. Linkurile vechi către paginile /playbooks/… deschid aceeași execuție sau manual de proceduri într-o comunitate. Are câteva setări, în mare parte funcții experimentale; valorile implicite se potrivesc majorității serverelor.
  • Memes: Cine poate adăuga șabloane de meme: Toată lumea (implicit), Administratori de sistem sau Nimeni (șabloane personalizate dezactivate), ceea ce oprește adăugarea de șabloane noi, în timp ce cele deja adăugate rămân utilizabile. Oaspeții nu adaugă niciodată șabloane. Persoana care a adăugat un șablon și administratorii de sistem pot șterge.
  • Todo nu are setări de server.

GitHub, GitLab și Jira

Aceste aplicații conectează Antimatter la platforma de stocare a codului și la instrumentul de urmărire a problemelor. Fiecare necesită o aplicație OAuth pe partea cealaltă și un webhook care să indice înapoi către Antimatter. Activați aplicația, apoi rulați comanda sa de configurare în orice canal, care vă ghidează pas cu pas: /github setup, /gitlab setup sau /jira setup.

AplicațieURL de redirecționare OAuthURL webhook
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> sau /jira instance install cloud-oauth <url>; /jira webhook afișează URL-urile webhook.
Lăsați Use Preregistered OAuth Application dezactivat în aplicațiile GitHub și GitLab: se bazează pe un serviciu Mattermost pe care Antimatter nu îl are, iar aplicația refuză să pornească dacă este activat. Înregistrați-vă propria aplicație OAuth.

Aplicațiile GitHub și GitLab generează secretul webhook și cheia de criptare la prima salvare. Aplicația GitHub poate fi limitată la organizații (GithubOrg), iar aplicația GitLab la un grup (GitlabGroup); pentru GitHub Enterprise sau un GitLab auto-găzduit, configurați URL-ul de bază.

Metrice

Aplicația Metrics colectează metricile de performanță ale serverului într-o mică bază de date de serii temporale din interiorul Antimatter, astfel încât să le puteți descărca sau să le includeți într-un pachet de suport fără a rula Prometheus. La pornire, activează punctul de acces pentru metrici al serverului (MetricsSettings.Enable). Consultați Operations.

Instalarea altor aplicații

Antimatter rulează aplicații Mattermost (pluginuri). Trei moduri de a adăuga una:

  • Dintr-o piață la distanță. Activați piața la distanță (PluginSettings.EnableRemoteMarketplace) este dezactivată implicit, iar Adresa URL a pieței (PluginSettings.MarketplaceURL) este goală: Antimatter nu utilizează piața Mattermost și ignoră adresa acesteia dacă o configurație din Mattermost o conține încă. Pentru a lista aplicațiile unui server de piață de care aveți încredere, activați setarea și configurați adresa URL. Versiunile din acea piață pentru aplicațiile livrate de Antimatter (Apeluri, Manuale de proceduri, Panouri Kanban și altele) sunt ascunse, astfel încât nu pot înlocui cele ale Antimatter: Permite versiunile Marketplace pentru pluginurile Antimatter (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) este dezactivată implicit.
  • Prin încărcarea unui pachet (.tar.gz). Încărcările sunt dezactivate implicit și nu au un comutator în Consola de sistem: setați AM_PLUGINSETTINGS_ENABLEUPLOADS=true, apoi folosiți Încărcați pluginul în Gestionarea pluginurilor, sau amctl --local plugin add app.tar.gz.
  • Dintr-un URL: amctl plugin install-url <url>, tot cu încărcările activate.

Antimatter verifică semnăturile aplicațiilor în funcție de cheile de care are încredere: cheia Antimatter, cheia cu care Mattermost, Inc. semnează aplicațiile publicate (astfel, o aplicație Mattermost descărcată manual se instalează) și orice cheie adăugată în PluginSettings.SignaturePublicKeyFiles. Cu Solicitați semnătură de plugin (PluginSettings.RequirePluginSignature, dezactivat implicit) activat, aplicațiile nesemnate sunt refuzate, iar încărcările sunt dezactivate.

O aplicație rulează în interiorul serverului cu acces complet la datele acestuia. Instalați doar aplicații de care aveți încredere.

Unele aplicații create pentru edițiile plătite Mattermost verifică ele însele licența Mattermost și refuză să ruleze; Antimatter nu pretinde că are o astfel de licență pentru ele.