バンドルアプリ
AntimatterのDockerイメージには、一連のアプリ(システムコンソールではプラグインとして扱われます)が含まれています。このページでは、それらのアプリをリストアップし、インストール後のデフォルトの有効状態、および各アプリに必要な管理者設定について説明します。
同梱されているアプリ
アプリはシステムコンソールでプラグインとしてリストアップされます。これらはイメージ内に(/antimatter/prepackaged_plugins)含まれており、Antimatterのアプリ署名キーで署名されているため、インターネット接続なしでインストールできます。
リリースアーカイブおよび .deb と .rpm パッケージには、より少ない数のアプリが含まれています。パッケージとアーカイブに含まれるアプリを参照してください。
| アプリ | アプリID | イメージ | インストール後の状態 |
|---|---|---|---|
| エージェント (AI) | mattermost-ai | 両方 | はい |
| 通話 | com.mattermost.calls | 両方 | はい |
| Kanban | focalboard | 両方 | はい |
| プレイブック | playbooks | 両方 | はい |
| GitHub | github | 両方 | いいえ |
| GitLab | com.github.manland.mattermost-plugin-gitlab | 両方 | いいえ |
| Jira | jira | 両方 | いいえ |
| メトリクス | com.mattermost.mattermost-plugin-metrics | 両方 | いいえ |
| 音声チャンネル | com.antimatterchat.voice-channels | antimatter-next | はい |
| 投票 | com.antimatterchat.polls | antimatter-next | はい |
| メモ | com.antimatterchat.notes | antimatter-next | はい |
| ホワイトボード | com.antimatterchat.whiteboard | antimatter-next | はい |
| メール | com.antimatterchat.mail | antimatter-next | はい |
| カレンダー | com.antimatterchat.calendar | antimatter-next | はい |
| GIF | com.antimatterchat.gifs | antimatter-next | はい |
| ミーム | memes | antimatter-next | いいえ |
| ToDo | com.mattermost.plugin-todo | antimatter-next | いいえ |
デフォルトで有効なアプリは、まだインストールされていない場合は各起動時にインストールされ、イメージに新しいバージョンがある場合はアップグレードされます。無効化した場合はその状態が維持されます。デフォルト設定は、設定ファイルにまだ記載されていないアプリにのみ適用されます。MattermostのIDを保持しているアプリ(エージェント、通話、Kanban、プレイブック、および統合)は、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 はすべてのアプリの設定を一括で置き換え、すべてをロックするため、使用を避けてください。
GIF
GIFs アプリは絵文字ピッカーに GIF とステッカーのタブを追加します。これは Antimatter の GIF サービス (gifs-server) によって裏打ちされており、Tenor API を使用します。サイトの compose ファイルはこのサービスを起動し、変数を通じてアプリを設定します。システムコンソール › プラグイン › GIFs 内の設定は以下の通りです。
| 設定項目 | 変数 (フォールバック) | デフォルト値 | 機能 |
|---|---|---|---|
| GIF サービス URL | AM_GIFS_SERVICE_URL | 空 | サービスの API ベース URL (例: http://gifs:8080/v2)。空の場合、GIF は無効になります。 |
| APIキー | AM_GIFS_API_KEY | 空 | サービスの AM_GIFS_API_KEYS のいずれか。 |
| アップロードキー | AM_GIFS_UPLOAD_KEY | 空 | サービスの AM_GIFS_UPLOAD_KEYS のいずれか。これにより、ピッカーから GIF やステッカーを追加し、この方法で追加されたものを削除できます。空の場合、アップロードは無効になります。 |
| GIF とステッカーの追加権限 | システム管理者 | システム管理者または全員。カスタム絵文字と同様に、ゲストは常にできません。誰かが追加したものは全員が利用可能で、追加した本人とシステム管理者が削除できます。 | |
| ステッカーの有効化 | on | ステッカータブを表示します。 | |
| コンテンツフィルター | medium | high、medium、low、または off。 | |
| Antimatter 経由でメディアを配信 | on | ブラウザは Antimatter から GIF を読み込み、Antimatter がサービスから取得します。サービスが内部ネットワーク内のみにある場合は、これを on に保ってください。 | |
| メディア URL | サービスの /media/ | 直接配信する場合のメディアの場所。 | |
| キャッシュサイズ (MB) | 64 MB | アプリのメモリキャッシュ。 |
このアプリでは、変数はフォールバックとしてのみ機能します。システムコンソールで設定された値が優先されます。GIF ピッカーが空のままの場合は、そのページのサービス URL と API キーを確認してください。
GIFアプリがセットアップされている間、そのタブは組み込みのGiphyピッカー(システムコンソール › 統合機能 › GIF › GIF選択機能を有効にする、ServiceSettings.EnableGifPicker)に置き換わります。
GIF サービス
サービスはすべてをデータディレクトリ (/data、gifs ボリューム) に保持します: 検索インデックスとメディア。主な変数は以下の通りです。
| 変数 | デフォルト値 | 機能 |
|---|---|---|
AM_GIFS_API_KEYS | なし | カンマ区切りの API キー。 キーがない場合、API は到達可能な誰でも使用できます。 複数のキーを使用することでローテーションが可能です。 |
AM_GIFS_UPLOAD_KEYS | なし | アップロードおよびアップロードされたものの削除を許可するキー。これがないとアップロードはできません。 |
AM_GIFS_RATE_LIMIT | 20 | クライアント (API キーとアドレス) あたりの毎秒リクエスト数; 0 で無効化します。compose ファイルでは 0 に設定されています。これは Antimatter のすべてのリクエストが 1 つのキーとアドレスを共有するためです。 |
AM_GIFS_LISTEN | :8080 | リッスンアドレス。 |
AM_GIFS_PUBLIC_URL | リクエストから | サービスが公開されている場合の外部 URL。 |
AM_GIFS_TRUST_PROXY | false | プロキシの背後でのみ、X-Forwarded-* ヘッダーを信頼します。 |
AM_GIFS_UPLOAD_MAX_MB | 16 | アップロード可能な最大ファイルサイズ。 |
独自の 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) を使用する必要があります。 |
| メール | 未読チェック間隔 (分) (UnreadCheckMinutes) | 2 分 | メールサーバーが未読数をプッシュできない場合、未読数がチェックされる頻度。 |
| メール | メッセージの最大サイズ (MB) (MaxMessageSizeMB) | 25 MB | 送信および受信メッセージのサイズ制限。 |
| カレンダー | リマインダーの送信 (EnableReminders) | on | カレンダーのボットは、イベントの前にダイレクトメッセージを送信します (独自のアラームがないイベントは、10 分前に)。 |
ユーザーがパスワードではなくアカウントを使用して Gmail または Microsoft 365 メールボックスにサインインできるようにするには、OAuth クライアントを作成し、メールアプリの Google または Microsoft フィールドを入力します。
- Google: Gmail API とスコープ
https://mail.google.com/を持つ Web OAuth クライアント。 - Microsoft: 委任された権限
IMAP.AccessAsUser.All、SMTP.Send、offline_access、openid、emailおよびprofileを持つ Entra ID アプリ。テナントはデフォルトでcommonです。 - どちらの場合も、リダイレクト URI は
https://chat.example.com/plugins/com.antimatterchat.mail/oauth/callback(あなたのサイトの URL) です。
Kanban、メモ、ホワイトボード、投票、プレイブック
- Kanban(
focalboard)は、プレイブックと同様に、会話の横にあるサイドパネルで開きます。/kanban/…および/boards/…ページへの古いリンクは、コミュニティ内で同じボードまたはカードを開きます。唯一の設定である公開共有ボードを有効にする(EnablePublicSharedBoards、オフ)により、ボードの編集者がログインせずにリンクを持つ誰でもボードを共有できるようになります。 - Notes と Polls には設定はありません。
- Whiteboard: システム管理者は、設定ページからサーバー全体で利用可能なシェイプライブラリ(Excalidraw
.excalidrawlibファイル、各最大 5 MB)をアップロードできます。コミュニティ管理者は、自分のコミュニティのライブラリを管理します。 - プレイブックはサイドパネルで開きます。
/playbooks/…ページへの古いリンクは、コミュニティ内で同じ実行またはプレイブックを開きます。いくつかの設定があり、主に実験的な機能ですが、デフォルト値はほとんどのサーバーに適しています。 - ミーム:ミームテンプレートを追加できるユーザー:全員(デフォルト)、システム管理者、または誰も(カスタムテンプレート無効)(新しいテンプレートの追加を停止しますが、すでに追加されたテンプレートは引き続き使用できます)。ゲストはテンプレートを追加できません。テンプレートを追加した本人とシステム管理者が削除できます。
- Todo にはサーバー設定はありません。
GitHub、GitLab、Jira
これらのアプリは、Antimatter をコードホスティングサービスやイシュートラッカーに連携します。それぞれ、相手側の OAuth アプリケーションと、Antimatter へ戻る Webhook が必要です。アプリを有効化してから、任意のチャンネルでセットアップコマンドを実行すると、ステップバイステップでガイドが表示されます: /github setup、/gitlab setup または /jira setup。
| アプリ | OAuth リダイレクト URL | Webhook URL |
|---|---|---|
| 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> または /jira instance install cloud-oauth <url>;/jira webhook を実行すると Webhook URL が出力されます。 | |
GitHub と GitLab アプリは、初回保存時に Webhook シークレットと暗号化キーを生成します。GitHub アプリは組織(GithubOrg)に、GitLab アプリはグループ(GitlabGroup)に制限できます。GitHub Enterprise やセルフホストされた GitLab の場合は、ベース URL を設定してください。
メトリクス
Metrics アプリは、サーバーのパフォーマンスメトリクスを Antimatter 内部の小型の時間系列データベースに収集します。これにより、Prometheus を実行せずにメトリクスをダウンロードしたり、サポートパケットに含めたりできます。起動すると、サーバーのメトリクスエンドポイント(MetricsSettings.Enable)が有効になります。詳細は Operations を参照してください。
その他のアプリのインストール
Antimatter は Mattermost アプリ(プラグイン)を実行します。追加する方法は 3 つあります:
- リモートマーケットプレースから。リモートマーケットプレースを有効にする(
PluginSettings.EnableRemoteMarketplace)はデフォルトでオフであり、マーケットプレースURL(PluginSettings.MarketplaceURL)は空です:AntimatterはMattermostのマーケットプレースを使用せず、Mattermostからの設定にそのアドレスが残っていても無視します。信頼できるマーケットプレースサーバーのアプリをリスト表示するには、この設定をオンにし、そのURLを設定します。Antimatterが提供するアプリ(Calls、Playbooks、Kanbanなど)のマーケットプレイスビルドは非表示にされるため、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はそれらのアプリに対してライセンスを持っているように装いません。