內建應用程式

Antimatter 的 Docker 映像檔包含一組應用程式(在系統控制台中稱為外掛程式)。本頁列出這些應用程式、說明安裝後哪些會預設開啟,並涵蓋管理員需要設定的各項內容。

隨附的應用程式

應用程式在系統控制台中列為擴充程式。它們包含在映像檔中(位於 /antimatter/prepackaged_plugins),並使用 Antimatter 應用程式簽章金鑰簽署,因此無需網路連線即可安裝。

發行版檔案庫以及 .deb 和 .rpm 套件包含較少的應用程式:請參閱套件與檔案庫中的應用程式。

應用程式應用程式 ID映像檔安裝後是否開啟
Agents (AI)mattermost-ai兩者皆是是
Callscom.mattermost.calls兩者皆是是
Kanbanfocalboard兩者皆是是
Playbooksplaybooks兩者皆是是
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 ID 的應用程式(Agents、Calls、Kanban、Playbooks 及整合服務)為 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 決定,這是一個應用程式 ID 的映射。您可以使用 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 的方式,因為它未在市集對話框中提供。變數 AM_PLUGINSETTINGS_PLUGINSTATES 也有效,但它會取代整個映射表:請列出您想要開啟的所有應用程式。

應用程式設定

應用程式設定儲存於 PluginSettings.Plugins.<app id>,其中金鑰使用小寫。您可以在應用程式的系統控制台頁面變更這些設定,或使用 amctl config patch,如設定一節所示。AM_PLUGINSETTINGS_PLUGINS 會一次取代並鎖定所有應用程式的設定,因此請避免使用。

GIFs

GIFs 應用程式為表情符號選擇器新增 GIF 和貼紙分頁,由 Antimatter 的 GIF 服務(gifs-server)支援,該服務使用 Tenor API。站点的 compose 檔案會執行該服務並透過變數設定應用程式。其設定位於系統控制台 › 擴充程式 › GIFs:

設定變數(預設值)預設值功能說明
GIF 服務 URLAM_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 提供媒體開啟瀏覽器會從 Antimatter 載入 GIF,而 Antimatter 會從服務端取得這些檔案。若服務僅部署在內部網路,請保持此選項啟用。
媒體 URL服務的 /media/當直接提供媒體時的存放位置。
快取大小 (MB)64 MB應用程式的記憶體快取。

對於此應用程式,變數僅作為預設值:在系統控制台中設定的值會優先於變數。如果 GIF 選擇器保持空白,請檢查該頁面的服務 URL 和 API 金鑰。

當 GIFs 應用程式設定完成後,其分頁會取代內建的 Giphy 選擇器(系統控制台 › 整合 › GIF(實驗性) › 啟用 GIF 選擇器,ServiceSettings.EnableGifPicker)。

GIF 服務

服務會將其所有內容儲存在資料目錄(/data,即 gifs 卷)中:包括搜尋索引和媒體檔案。其主要變數如下:

變數預設值功能說明
AM_GIFS_API_KEYS無以逗號分隔的 API 金鑰。若未設定金鑰,API 將對任何能存取它的人開放。設定多個金鑰可讓您進行金鑰輪替。
AM_GIFS_UPLOAD_KEYS無允許上傳以及刪除已上傳內容的金鑰。沒有金鑰則無法上傳。
AM_GIFS_RATE_LIMIT20每個客戶端(API 金鑰與位址)的每秒請求數;0 表示停用。Compose 檔案設定為 0,因為 Antimatter 的所有請求共用同一個金鑰和位址。
AM_GIFS_LISTEN:8080監聽位址。
AM_GIFS_PUBLIC_URL來自請求外部 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。清單格式及其他指令請參閱 gifs-server README。

郵件與行事曆

郵件與行事曆功能讓每位使用者連接到自己的信箱(IMAP 和 SMTP)以及自己的行事曆(CalDAV)。使用者在應用程式中輸入伺服器與密碼;密碼會以加密方式儲存。您不需要為他們設定郵件或行事曆伺服器,但可以決定他們可以連接到哪些伺服器:

應用程式設定預設值功能說明
郵件、行事曆允許私人網路上的郵件伺服器、允許私人網路上的行事曆伺服器(AllowPrivateNetworks)關閉關閉時,伺服器會拒絕連接回環、私人及鏈路本地位址,因此應用程式無法用來存取您的內部網路。如果您的郵件或行事曆伺服器位於私人位址,請開啟此選項。
郵件、行事曆允許未加密連線(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)。

看板、筆記、白板、投票與操作手冊

  • 看板(focalboard)會像操作手冊一樣,在對話旁的側邊欄中開啟。指向 /kanban/… 和 /boards/… 頁面的舊連結,會在社群中開啟相同的看板或卡片。它唯一的設定項目 啟用公開共用的看板(EnablePublicSharedBoards,預設為關),可讓看板編輯者與任何擁有連結的人共用看板,無需登入。
  • 筆記 和 投票 沒有設定項目。
  • 白板:系統管理員可以在其設定頁面中為整個伺服器上傳形狀庫(Excalidraw .excalidrawlib 檔案,每個檔案最大 5 MB)。社群管理員則管理其自身社群的庫。
  • 操作手冊會在側邊欄中開啟。指向 /playbooks/… 頁面的舊連結,會在社群中開啟相同的執行或操作手冊。它包含幾個設定項目,大多是實驗性功能;預設值適用於大多數伺服器。
  • 迷因:誰可以新增迷因範本:所有人(預設值)、系統管理員,或 無(停用自訂範本),後者會阻止新增範本,但已新增的範本仍可繼續使用。訪客永遠無法新增範本。新增範本的人員和系統管理員可以刪除它。
  • 待辦事項 沒有伺服器設定。

GitHub、GitLab 和 Jira

這些應用程式將 Antimatter 連結到您的程式碼託管和問題追蹤器。每個應用程式都需要在對端建立一個 OAuth 應用程式,並設定一個指向 Antimatter 的 Webhook。啟用應用程式後,在任何頻道中執行其設定指令,它將引導您逐步完成:/github setup、/gitlab setup 或 /jira setup。

應用程式OAuth 重定向 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 URL。
在 GitHub 和 GitLab 應用程式中,請保持 使用預先註冊的 OAuth 應用程式 為關閉狀態:它依賴 Antimatter 不具備的 Mattermost 服務,且若開啟此選項,應用程式將拒絕啟動。請註冊您自己的 OAuth 應用程式。

GitHub 和 GitLab 應用程式會在首次儲存時生成其 Webhook 密鑰和加密金鑰。GitHub 應用程式可以限制為特定組織(GithubOrg),GitLab 應用程式可以限制為特定群組(GitlabGroup);對於 GitHub Enterprise 或自託管的 GitLab,請設定其基礎 URL。

指標

Metrics 應用程式將伺服器的效能指標收集到 Antimatter 內的一個小型時間序列資料庫中,因此您可以下載這些指標或將其包含在支援套件中,而無需運行 Prometheus。當它啟動時,會開啟伺服器的指標端點(MetricsSettings.Enable)。請參閱 操作。

安裝其他應用程式

Antimatter 運行 Mattermost 應用程式(外掛)。新增應用程式的三種方式:

  • 從遠端市集。啟用遠端市集(PluginSettings.EnableRemoteMarketplace)預設為關,且 市集網址(PluginSettings.MarketplaceURL)為空:Antimatter 不使用 Mattermost 的市集,並會忽略 Mattermost 設定檔中殘留的地址。若要列出您信任的市集伺服器上的應用程式,請開啟此設定並設定其網址。該市集提供的 Antimatter 隨附應用程式(通話、操作手冊、看板及其他)的建置版本會被隱藏,因此無法取代 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 不會為這些應用程式偽造授權。