Ứng dụng có sẵn

Ảnh Docker của Antimatter đi kèm một bộ ứng dụng (gọi là plugin trong Bảng điều khiển Hệ thống). Trang này liệt kê chúng, cho biết ứng dụng nào được bật sau khi cài đặt, và nêu bật các cài đặt mà quản trị viên cần thiết lập cho từng ứng dụng.

Các ứng dụng có sẵn

Các ứng dụng được liệt kê dưới dạng Các plugin trong Bảng điều khiển Hệ thống. Chúng nằm trong image (tại /antimatter/prepackaged_plugins), được ký bằng khóa ký ứng dụng của Antimatter, do đó có thể cài đặt mà không cần kết nối Internet.

Tệp lưu trữ bản phát hành và các gói .deb và .rpm bao gồm ít ứng dụng hơn: xem Ứng dụng trong các gói và tệp lưu trữ.

Ứng dụngID ứng dụngẢnhTrạng thái sau khi cài đặt
Trợ lý (AI)mattermost-aicả haicó
Cuộc gọicom.mattermost.callscả haicó
Kanbanfocalboardcả haicó
Playbookplaybookscả haicó
GitHubgithubcả haikhông
GitLabcom.github.manland.mattermost-plugin-gitlabcả haikhông
Jirajiracả haikhông
Chỉ số đo lườngcom.mattermost.mattermost-plugin-metricscả haikhông
Kênh thoạicom.antimatterchat.voice-channelsantimatter-nextcó
Bình chọncom.antimatterchat.pollsantimatter-nextcó
Ghi chúcom.antimatterchat.notesantimatter-nextcó
Bảng trắngcom.antimatterchat.whiteboardantimatter-nextcó
Thưcom.antimatterchat.mailantimatter-nextcó
Lịchcom.antimatterchat.calendarantimatter-nextcó
GIFcom.antimatterchat.gifsantimatter-nextcó
Memememesantimatter-nextkhông
Việc cần làmcom.mattermost.plugin-todoantimatter-nextkhông

Các ứng dụng được bật mặc định sẽ được cài đặt mỗi lần khởi động nếu chưa có, hoặc được nâng cấp nếu ảnh có phiên bản mới hơn. Nếu bạn tắt một ứng dụng, nó sẽ ở trạng thái tắt: giá trị mặc định chỉ áp dụng cho các ứng dụng mà cấu hình chưa đề cập. Các ứng dụng giữ nguyên ID của Mattermost (Trợ lý, Cuộc gọi, Kanban, Playbook và các ứng dụng tích hợp) là các bản build do chính Antimatter phát triển.

Bật, tắt và cấu hình ứng dụng

Chuyển đến Bảng điều khiển Hệ thống › Các plugin › Quản lý Plugin. Trong mục Plugin đã cài đặt, mỗi ứng dụng có tùy chọn Bật hoặc Tắt, Cài đặt Tài khoản và Xóa, đồng thời hiển thị trạng thái của nó (Đang chạy, Không chạy, Không thể khởi động…). Mỗi ứng dụng có cài đặt cũng có trang riêng của nó dưới Bảng điều khiển Hệ thống › Các plugin.

Các ứng dụng tích hợp bị tắt theo mặc định được cài đặt từ bản sao của chính hình ảnh: nhấp vào ảnh đại diện của bạn ở đầu thanh ứng dụng và chọn Chợ ứng dụng (trong giao diện cổ điển, nó nằm trong menu sản phẩm), tìm ứng dụng và nhấp vào Cài đặt, sau đó bật nó trong Quản lý Plugin. Từ dòng lệnh:

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

Các lệnh khác: amctl plugin list, amctl plugin disable <id>, amctl plugin delete <id>.

Bật ứng dụng thông qua cấu hình

Các ứng dụng đang bật được xác định bởi cài đặt PluginSettings.PluginStates, một bản đồ các id ứng dụng. Bạn có thể hợp nhất các mục vào đó bằng amctl; với Bật các plugin tự động đóng gói sẵn được bật (mặc định), một ứng dụng đóng gói sẵn đã bật sẽ được cài đặt vào lần khởi động tiếp theo:

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

Đây cũng là cách để cài đặt Việc cần làm, ứng dụng không được cung cấp trong hộp thoại Marketplace. Biến AM_PLUGINSETTINGS_PLUGINSTATES cũng hoạt động, nhưng nó thay thế toàn bộ bản đồ: hãy liệt kê mọi ứng dụng bạn muốn bật.

Cài đặt ứng dụng

Cài đặt ứng dụng được lưu dưới PluginSettings.Plugins.<app id>, với các khóa ở dạng chữ thường. Bạn có thể thay đổi chúng trong trang Bảng điều khiển Hệ thống của ứng dụng, hoặc bằng lệnh amctl config patch như được mô tả trong Cấu hình. AM_PLUGINSETTINGS_PLUGINS thay thế cài đặt của mọi ứng dụng cùng lúc và khóa tất cả chúng, vì vậy hãy tránh sử dụng biến này.

GIF

Ứng dụng GIFs thêm một tab GIF và sticker vào bộ chọn biểu tượng cảm xúc, được hỗ trợ bởi dịch vụ GIF của Antimatter (gifs-server), giao tiếp qua API của Tenor. File compose của trang web chạy dịch vụ và cấu hình ứng dụng thông qua các biến. Cài đặt của nó, trong Bảng điều khiển Hệ thống › Các plugin › GIF:

Cài đặtBiến (giá trị dự phòng)Mặc địnhChức năng
URL dịch vụ GIFAM_GIFS_SERVICE_URLtrốngURL gốc của API dịch vụ, ví dụ http://gifs:8080/v2. GIF sẽ bị tắt khi trường này trống.
Khóa APIAM_GIFS_API_KEYtrốngMột trong các AM_GIFS_API_KEYS của dịch vụ.
Khóa tải lênAM_GIFS_UPLOAD_KEYtrốngMột trong các AM_GIFS_UPLOAD_KEYS của dịch vụ. Cho phép người dùng thêm GIF và sticker từ trình chọn, và xóa những tệp đã được thêm theo cách này. Để trống sẽ tắt tính năng tải lên.
Ai có thể thêm GIF và stickerQuản trị viên hệ thốngQuản trị viên hệ thống, hoặc Mọi người. Khách không bao giờ có thể, giống như với biểu tượng cảm xúc tùy chỉnh. Những gì mọi người thêm sẽ khả dụng cho tất cả; người đã thêm và quản trị viên hệ thống có thể xóa nó.
Bật stickeronHiển thị tab sticker.
Lọc nội dungmediumhigh, medium, low hoặc off.
Phân phối phương tiện thông qua AntimatteronTrình duyệt tải GIF từ Antimatter, và Antimatter sẽ lấy chúng từ dịch vụ. Hãy giữ tùy chọn này bật khi dịch vụ chỉ chạy trên mạng nội bộ.
URL phương tiện/media/ của dịch vụVị trí lưu trữ phương tiện khi phân phối trực tiếp.
Kích thước bộ nhớ đệm (MB)64 MBBộ nhớ đệm của ứng dụng.

Đối với ứng dụng này, các biến chỉ là giá trị dự phòng: giá trị được đặt trong Bảng điều khiển Hệ thống sẽ có ưu tiên cao hơn. Nếu trình chọn GIF vẫn trống, hãy kiểm tra URL dịch vụ và khóa API trên trang đó.

Trong khi ứng dụng GIFs được cấu hình, tab của nó sẽ thay thế bộ chọn Giphy tích hợp sẵn (Bảng điều khiển Hệ thống › Tích Hợp › GIF (Beta) › Bật Bộ chọn GIF, ServiceSettings.EnableGifPicker).

Dịch vụ GIF

Dịch vụ lưu trữ mọi thứ trong thư mục dữ liệu của nó (/data, volume gifs): một chỉ mục tìm kiếm và các tệp phương tiện. Các biến chính của nó:

BiếnMặc địnhChức năng
AM_GIFS_API_KEYSnoneCác khóa API phân tách bằng dấu phẩy. Nếu không có khóa, API sẽ mở cho bất kỳ ai truy cập được. Sử dụng nhiều khóa cho phép bạn xoay vòng chúng.
AM_GIFS_UPLOAD_KEYSnoneCác khóa được phép tải lên, và xóa những gì đã được tải lên. Không có tải lên nếu không có khóa.
AM_GIFS_RATE_LIMIT20Số yêu cầu mỗi giây cho mỗi client (khóa API và địa chỉ); 0 để tắt. Tệp compose đặt giá trị là 0, vì tất cả các yêu cầu của Antimatter chia sẻ một khóa và một địa chỉ.
AM_GIFS_LISTEN:8080Địa chỉ lắng nghe.
AM_GIFS_PUBLIC_URLfrom requestsURL bên ngoài, nếu bạn công khai dịch vụ.
AM_GIFS_TRUST_PROXYfalseTin cậy các tiêu đề X-Forwarded-*, chỉ khi đặt sau proxy.
AM_GIFS_UPLOAD_MAX_MB16Tệp tải lên lớn nhất.

Để tải hàng loạt GIF của riêng bạn, hãy nhập chúng bằng tệp danh sách (manifest) từ một thư mục được gắn vào một container dùng một lần:

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

Để nhập lại các sticker khởi đầu sau khi nâng cấp: docker compose run --rm gifs stickers. Định dạng manifest và các lệnh khác nằm trong README của gifs-server.

Thư và Lịch

Thư và Lịch kết nối mỗi người với hộp thư riêng (IMAP và SMTP) và lịch riêng (CalDAV). Người dùng nhập máy chủ và mật khẩu của họ trong ứng dụng; mật khẩu được lưu trữ dưới dạng mã hóa. Bạn không cấu hình máy chủ thư hoặc lịch cho họ, nhưng bạn quyết định những gì họ có thể kết nối đến:

Ứng dụngCài đặtMặc địnhChức năng
Thư, LịchCho phép máy chủ thư trên mạng riêng tư, Cho phép máy chủ lịch trên mạng riêng tư (AllowPrivateNetworks)TắtKhi tắt, máy chủ từ chối kết nối đến các địa chỉ vòng lặp (loopback), riêng tư và liên kết cục bộ (link-local), do đó các ứng dụng không thể được sử dụng để truy cập mạng nội bộ của bạn. Bật tùy chọn này nếu máy chủ thư hoặc lịch của bạn nằm trên địa chỉ riêng tư.
Thư, LịchCho phép kết nối không mã hóa (AllowInsecureConnections)TắtKhi tắt, các kết nối phải sử dụng TLS (Thư: TLS hoặc STARTTLS; Lịch: HTTPS).
ThưKhoảng thời gian kiểm tra chưa đọc (phút) (UnreadCheckMinutes)2 phútTần suất kiểm tra số lượng tin nhắn chưa đọc khi máy chủ thư không thể đẩy chúng.
ThưKích thước tin nhắn tối đa (MB) (MaxMessageSizeMB)25 MBGiới hạn kích thước của tin nhắn được gửi và đọc.
LịchGửi lời nhắc (EnableReminders)onBot Lịch gửi một tin nhắn trực tiếp trước sự kiện (10 phút trước, đối với các sự kiện không có báo thức riêng).

Để cho phép người dùng đăng nhập vào hộp thư Gmail hoặc Microsoft 365 bằng tài khoản của họ thay vì mật khẩu, hãy tạo một client OAuth và điền vào các trường Google hoặc Microsoft của ứng dụng Thư:

  • Google: một client OAuth Web với Gmail API và phạm vi https://mail.google.com/.
  • Microsoft: một ứng dụng Entra ID với các quyền ủy quyền IMAP.AccessAsUser.All, SMTP.Send, offline_access, openid, email và profile. Tenant mặc định là common.
  • Trong cả hai trường hợp, URI chuyển hướng là https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback (URL trang web của bạn).

Kanban, Ghi chú, Bảng trắng, Bình chọn và Playbook

  • Kanban (focalboard) mở trong bảng bên cạnh cuộc trò chuyện, giống như Playbooks. Các liên kết cũ đến các trang /kanban/… và /boards/… mở cùng một bảng hoặc thẻ trong một cộng đồng. Cài đặt duy nhất của nó, Enable Publicly-Shared Boards (EnablePublicSharedBoards, tắt), cho phép người chỉnh sửa bảng chia sẻ bảng với bất kỳ ai có liên kết, mà không cần đăng nhập.
  • Notes và Polls không có cài đặt nào.
  • Whiteboard: quản trị viên hệ thống có thể tải lên các thư viện hình dạng (tệp Excalidraw .excalidrawlib, mỗi tệp tối đa 5 MB) cho toàn bộ máy chủ trong trang cài đặt của nó. Quản trị viên cộng đồng sẽ quản lý các thư viện của cộng đồng riêng.
  • Playbooks mở trong bảng bên. Các liên kết cũ đến các trang /playbooks/… mở cùng một run hoặc playbook trong một cộng đồng. Nó có một vài cài đặt, chủ yếu là các tính năng thử nghiệm; các giá trị mặc định phù hợp với hầu hết các máy chủ.
  • Memes: Ai có thể thêm mẫu meme: Mọi người (mặc định), Quản trị viên hệ thống, hoặc Không ai (tắt mẫu tùy chỉnh), ngăn các mẫu mới trong khi những mẫu đã được thêm vẫn khả dụng. Khách không bao giờ thêm mẫu. Người đã thêm mẫu và quản trị viên hệ thống có thể xóa nó.
  • Todo không có cài đặt máy chủ.

GitHub, GitLab và Jira

Các ứng dụng này kết nối Antimatter với nền tảng lưu trữ mã nguồn và hệ thống theo dõi sự cố của bạn. Mỗi ứng dụng cần một ứng dụng OAuth ở phía bên kia và một webhook trỏ ngược lại Antimatter. Bật ứng dụng, sau đó chạy lệnh thiết lập của nó trong bất kỳ kênh nào, lệnh này sẽ hướng dẫn bạn từng bước: /github setup, /gitlab setup hoặc /jira setup.

Ứng dụngURL chuyển hướng 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> hoặc /jira instance install cloud-oauth <url>; /jira webhook sẽ in ra các URL webhook.
Tắt Use Preregistered OAuth Application trong các ứng dụng GitHub và GitLab: tính năng này dựa vào một dịch vụ của Mattermost mà Antimatter không có, và ứng dụng sẽ từ chối khởi động nếu tính năng này được bật. Hãy đăng ký ứng dụng OAuth của riêng bạn.

Các ứng dụng GitHub và GitLab sẽ tạo bí mật webhook và khóa mã hóa khi lưu lần đầu. Ứng dụng GitHub có thể bị giới hạn cho các tổ chức (GithubOrg) và ứng dụng GitLab cho một nhóm (GitlabGroup); đối với GitHub Enterprise hoặc GitLab tự lưu trữ, hãy đặt URL cơ sở của nó.

Chỉ số đo lường

Ứng dụng Metrics thu thập các chỉ số hiệu năng của máy chủ vào một cơ sở dữ liệu chuỗi thời gian nhỏ bên trong Antimatter, cho phép bạn tải chúng xuống hoặc bao gồm chúng trong gói hỗ trợ mà không cần chạy Prometheus. Khi khởi động, nó sẽ bật điểm cuối chỉ số của máy chủ (MetricsSettings.Enable). Xem Operations.

Cài đặt các ứng dụng khác

Antimatter chạy các ứng dụng Mattermost (plugin). Có ba cách để thêm một ứng dụng:

  • Từ thị trường từ xa. Bật Thị trường Từ xa (PluginSettings.EnableRemoteMarketplace) mặc định là tắt, và URL thị trường (PluginSettings.MarketplaceURL) để trống: Antimatter không sử dụng thị trường của Mattermost và sẽ bỏ qua địa chỉ của nó nếu cấu hình từ Mattermost vẫn còn chứa nó. Để liệt kê các ứng dụng của một máy chủ thị trường mà bạn tin tưởng, hãy bật cài đặt này và đặt URL của nó. Các bản build từ thị trường đó của các ứng dụng mà Antimatter cung cấp (Calls, Playbooks, Kanban và các ứng dụng khác) sẽ bị ẩn, do đó chúng không thể thay thế các ứng dụng của Antimatter: Cho phép bản build từ Marketplace thay thế Plugin của Antimatter (PluginSettings.AllowMarketplaceToReplaceAntimatterPlugins) mặc định là tắt.
  • Bằng cách tải lên một gói (.tar.gz). Chức năng tải lên bị tắt theo mặc định và không có công tắc trong Bảng điều khiển Hệ thống: hãy đặt AM_PLUGINSETTINGS_ENABLEUPLOADS=true, sau đó sử dụng Tải lên Plugin trong Quản lý Plugin, hoặc chạy amctl --local plugin add app.tar.gz.
  • Từ một URL: amctl plugin install-url <url>, cũng yêu cầu bật tải lên.

Antimatter kiểm tra chữ ký của ứng dụng bằng cách đối chiếu với các khóa mà nó tin tưởng: khóa của Antimatter, khóa mà Mattermost, Inc. dùng để ký cho các ứng dụng đã phát hành (để bạn có thể tự tải và cài đặt ứng dụng của Mattermost), và bất kỳ khóa nào bạn thêm vào PluginSettings.SignaturePublicKeyFiles. Khi bật Yêu cầu Chữ ký của Plugin (PluginSettings.RequirePluginSignature, tắt theo mặc định), các ứng dụng không có chữ ký sẽ bị từ chối và chức năng tải lên sẽ bị vô hiệu hóa.

Ứng dụng chạy bên trong máy chủ với quyền truy cập đầy đủ vào dữ liệu của nó. Chỉ cài đặt các ứng dụng mà bạn tin tưởng.

Một số ứng dụng được tạo cho các phiên bản trả phí của Mattermost sẽ tự kiểm tra giấy phép Mattermost và từ chối chạy; Antimatter không giả vờ có giấy phép cho chúng.