サーバーの運用
このガイドは、Antimatterサーバーをインストールして運用するシステム管理者向けです。Linux、Docker、リバースプロキシに精通していることを前提としますが、Antimatterの知識は不要です。
デプロイメントの構成
Antimatterは、Mattermostのフォークであるセルフホスト型チームチャットです。完全なデプロイメントには以下のコンポーネントが含まれます。最初の3つが必須です。
| コンポーネント | 機能 | 必須 |
|---|---|---|
| Antimatterサーバー | Webアプリ、API、WebSocketをポート8065で提供し、バンドルされたアプリ(プラグイン)を実行し、通話メディアをポート8443で処理するGo言語で書かれた単一のプログラム(antimatter)です。コマンドラインツールamctlで管理します。 | はい |
| PostgreSQL | メッセージ、ユーザー、コミュニティ、推奨セットアップではサーバーの設定を保存するデータベースです。バージョン15以降が必要です。 | はい |
| ファイルストレージ | アップロードされたファイル、画像、インストールされたアプリを保存します。S3互換サービス(ComposeファイルではRustFSを使用)またはローカルディレクトリを使用します。 | はい |
| リバースプロキシ | サーバーの前にHTTPSを配置します。ComposeファイルのCaddyプロファイルまたは独自のnginxを使用します。 | 本番環境向け |
GIFサービス(gifs-server) | GIFピッカーで使用するGIFとステッカーを、独自のカタログから提供します。Tenor APIに準拠しています。 | いいえ |
| プッシュプロキシ | AppleおよびGoogle経由でモバイルアプリに通知を転送します。 | モバイル通知向け |
| rtcd、TURNサーバー | 多数の通話に対応するための独立したメディアサーバー、および厳格なファイアウォール后面的ユーザーのためのリレーです。 | いいえ |
| AIエンドポイント | コンポーザーの書き直し、要約、翻訳、読み上げ、AIエージェント、通話の文字起こしを支えるモデル。モデル接続として、クラウドプロバイダーまたは自社で運用するサーバーを追加します。 | いいえ |
Antimatterにはライセンス料や有料版はありません。Mattermostの有料プランで提供される単一サインオン、LDAP、高可用性、コンプライアンスエクスポート、データ保持などの機能もすべて含まれています。
要件
- 数百人のユーザーをサポートするには、
amd64またはarm64のLinuxサーバー、CPUコア2個以上、メモリ4GB以上、およびユーザーがアップロードするファイル用のディスクスペースが必要です。 - 推奨されるインストールには、Composeプラグイン付きのDocker Engine(
docker compose)を使用します。パッケージを使用する場合は、systemd対応のDebian、Ubuntu、Fedora、またはRHEL互換サーバーが必要です。 - 本番環境向け:サーバーを指すドメイン名、およびHTTPS用のポート80と443の開放。
- 通話向け:通話するユーザーから到達可能なポート8443(UDPおよびTCP)。
- メール向け:Antimatterから送信できるSMTPサーバー。
クイックスタート
mkdir antimatter && cd antimatter
curl -fsSLO https://antimatter.chat/compose.yaml
cat > .env <<EOF
SITE_URL=http://localhost:8065
POSTGRES_PASSWORD=$(openssl rand -hex 24)
S3_SECRET_KEY=$(openssl rand -hex 24)
GIFS_API_KEY=$(openssl rand -hex 24)
AM_AI_ENCRYPTION_KEY=$(openssl rand -base64 32)
EOF
docker compose up -d
次に、サイトのURLを開いてアカウントを作成します。最初のアカウントがシステム管理者になります。インストールでは、各ステップとその他のインストール方法について説明しています。
このガイドの内容
- インストール:Docker Compose、イメージ、最初の管理者、.debおよび.rpmパッケージ、リリースアーカイブ。
- 設定: データベースまたはファイルによる設定、
AM_環境変数、システムコンソール、amctl、ログ。 - ドメインとHTTPS: サイトのURL、Caddy、nginx、クライアントアドレス。
- 通話と音声: ポート、NAT、TURN、rtcd、文字起こしと字幕。
- メールとプッシュ: SMTP、プッシュプロキシ、モバイルアプリ。
- バンドルアプリ: 有効なアプリ、その設定、その他のアプリのインストール。
- AI:モデル接続、組み込みAI機能、エージェント、音声と翻訳、暗号化キー、データの保存先。
- サインインとアカウント: サインアップ、パスワード、MFA、シングルサインオン、LDAP、ゲスト、セッション。
- バックアップとアップグレード: バックアップ、リストア、アップグレード、Mattermostからの移行。
- 運用: モニタリング、スケーリング、データ保持、コンプライアンス、トラブルシューティング。
- セキュリティ: ハードニングチェックリストと外部接続。
- デスクトップアプリの展開:MSI、グループポリシー、Intune、macOSプロファイル、Linuxポリシーファイル。
サーバーではなくコミュニティを運営する(チャンネル、ロール、モデレーション)場合は、コミュニティの運営を参照してください。インテグレーションを構築する場合は、Antimatterでの構築を参照してください。
最初の1時間
- インストールし、すぐに管理者アカウントを作成します。
- サーバーを独自のドメインでHTTPSの背後に配置します。
- SMTPを設定し、テストメールを送信します。
- 通話用のポートを開きます。企業向けには、新しいコミュニティの種類をワークプレイスに設定し、チャンネルで通話を使用できるようにします。
- 誰がサインアップできるかを決め、MFAを有効にします。
- セキュリティの外部接続を確認します。
- 毎日バックアップを設定します。AIモデル接続を追加する前に、AI暗号化キーを設定してください。
ヘルプの取得
質問はコミュニティディスカッションで、バグ報告はコミュニティリポジトリで行ってください。セキュリティ上の問題は、セキュリティポリシーに従って非公開で報告してください。