クライアントブラウザでのJitsi MeetにおけるCPU使用率の高さを修正する
Jitsi MeetブラウザのCPUスパイクを診断し、ビデオタイル、カメラエフェクト、ブラウザグラフィック、ホスト設定をチェックすることで、クライアントの負荷を軽減します。
2026年版の最新情報: Nextcloud 35のドキュメントでは、Euro-Officeを基盤とするNextcloud Officeと、引き続きサポート対象であり、公式のCODE Dockerイメージを使用してセルフホスト可能なCollabora Onlineが分離されています。このガイドでは、外部のCollabora/CODEパスを使用します。古いガイドでは、CODEが「Nextcloud Office」の背後にある唯一のサーバーであるかのように説明されていることが多いため、この名称は重要です。古いリリース向けに書かれた手順を適用する前に、最新のNextcloud Officeの概要を参照してください。
Nextcloudサイトが既にHTTPSで動作しており、Dockerがインストールされ、Collabora用のDNS名(例:office.example.comready for Collabora)が設定されている場合、統合自体は約10分で完了します。DNS伝播、証明書の発行、ファイアウォールの変更、リバースプロキシのトラブルシューティングにはさらに時間がかかる場合があり、上記の所要時間には含まれていません。
高速な手順では、既存のNextcloudインスタンス1つ、Dockerを実行できるLinuxホスト1つ、およびCODE専用のHTTPSホスト名が必要です。Nextcloudの現在のDockerの例では、別のサブドメインと有効なTLS証明書の使用を推奨しています。CODEは内部的にポート9980でリッスンし、リバースプロキシによってブラウザとNextcloudに安全に公開されます。
https://cloud.example.com。office.example.comリバースプロキシを指すようなDNSレコード。Nextcloudの現在のインストール手順書によると、組み込みのCODEサーバーは個人または小規模チームでの使用には最適ですが、パフォーマンス向上のためには専用のCollabora Onlineのインストールを推奨しています。以下で使用するイメージは、Docker Hubにある公式のcollabora/codeイメージです。

Dockerホスト上で、Dockerが利用可能であることを確認し、公式イメージをプルします。
docker --version
docker pull collabora/code:latest
Collaboraは頻繁にアップデートを公開するため、このlatestタグは簡単なセットアップガイドには便利です。本番環境では、テスト済みの特定のバージョンを固定し、再構築中に予期せぬイメージ変更が発生するのを防ぐため、計画的なアップグレードをスケジュールすることをお勧めします。
現在の Nextcloud Docker の例では、aliasgroup1CODE に対してどの Nextcloud ホストとの統合を許可するかを伝えるために使用します。例のホスト名を実際の Nextcloud URL に置き換えてください。
docker run -t -d --name collabora-code -p 127.0.0.1:9980:9980 -e 'aliasgroup1=https://cloud.example.com:443' --restart always --cap-add MKNOD collabora/code:latest
バインディングを設定することで127.0.0.1、リバースプロキシが同じサーバー上で動作している場合、ポート9980がインターネットに直接公開されるのを防ぎます。プロキシが別のマシン上で動作している場合は、プロキシのみがCODEにアクセスできるようにネットワークルールを設計し、ポート9980を誰にでも公開しないようにしてください。

コンテナが実行されていることを確認してください。
docker ps --filter name=collabora-code
docker logs --tail 50 collabora-code
Nextcloud では、必要な Collabora パスとして/browser、/hosting/discovery、/hosting/capabilities、/cool/adminws、/cool、さらに WebSocket トラフィックを の下に記述しています/cool/.../ws。そのため、一般的な「WebSocket 以外のすべてをプロキシする」設定では、エディタが部分的に開いた後、切断されることがよくあります。

Nginxの場合、以下の簡潔な例ではCODEのデフォルトの内部HTTPSを維持し、Nginxで公開TLSを終端します。証明書のパスはご自身で設定してください。
server {
listen 443 ssl http2;
server_name office.example.com;
ssl_certificate /etc/letsencrypt/live/office.example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/office.example.com/privkey.pem;
location ^~ /browser { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
location ^~ /hosting/discovery { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
location ^~ /hosting/capabilities { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
location ^~ /cool/adminws { proxy_pass https://127.0.0.1:9980; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_ssl_verify off; }
location ~ ^/cool/(.*)/ws$ { proxy_pass https://127.0.0.1:9980; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "Upgrade"; proxy_set_header Host $host; proxy_ssl_verify off; }
location ^~ /cool { proxy_pass https://127.0.0.1:9980; proxy_set_header Host $host; proxy_ssl_verify off; }
}
これは意図的に最小限のルーティング例を示しており、Nginxのセキュリティ基準を完全に網羅したものではありません。代わりに内部TLSを無効にしてCODEを実行する場合、アップストリームはとなりhttp://127.0.0.1:9980、コンテナは一貫性のある構成にする必要があります。HTTPプロキシターゲットと、HTTPSを期待するCODEコンテナを混在させないでください。
Nextcloudの設定を変更する前に、ブラウザで次のURLを開いてください。
https://office.example.com/hosting/discovery

プロキシエラー、証明書警告、または接続失敗ではなく、WOPI検出XMLを受信するはずです。コマンドラインからもテストできます。
curl -fsS https://office.example.com/hosting/discovery | head
これがうまくいかない場合は、まずDNS、TLS、プロキシ、またはコンテナを修正してください。Nextcloudを破損したエンドポイントに接続すると、トラブルシューティングの手順がさらに複雑になります。
管理者として Nextcloud にサインインし、[アプリ]を開いて[オフィスとテキスト]に移動し、インストールで使用可能なオフィス統合アプリを有効にします。Nextcloud 35 の概要では Euro-Office と Collabora の製品が区別されるようになりましたが、現在の Nextcloud Collabora Docker の例では、管理者に「Nextcloud Office」アプリをインストールし、Office 管理設定で外部サーバーを構成するように指示しています。

Nextcloudのリリースで使用されているラベルが若干異なる場合は、古いスクリーンショットと完全に一致すると想定するのではなく、ご自身の管理インターフェースに表示されている製品名に従ってください。
管理設定 → Office を開きます。外部 Collabora/Office サーバーオプションを選択し、以下を入力します。
https://office.example.com

設定を保存し、Nextcloudの接続チェックが完了するまでお待ちください。Nextcloudは、両側で同じプロトコルを使用することを推奨しており、HTTPSが推奨されます。チェックが成功したということは、NextcloudがCollaboraエンドポイントに到達できることを意味しますが、実際の編集セッション中にすべてのブラウザのWebSocketルートとWOPIリクエストが正常に動作することを保証するものではありません。
基本的な接続が確立したら、WOPIの設定を強化してください。Nextcloudの最新の設定ガイドでは、WOPIリクエストをファイルを要求すると予想されるCollaboraサーバーのIPアドレスに制限することを強く推奨しています。管理設定 → オフィスで、利用可能な場合は「WOPIリクエストの許可リスト」フィールドを使用してください。

これは重要なセキュリティ制御です。なぜなら、WOPIフローはCollaboraがNextcloudユーザーに代わってドキュメントを取得および書き込む方法だからです。デプロイメントで必要とされるCODEサーバーパスを実際に表すIPアドレスまたはネットワークを使用してください。サーバーのURLフィールドに似ているからといって、ホスト名をIP許可リストフィールドに貼り付けないでください。最新のオプションについては、 NextcloudのCollabora構成およびWOPIに関するガイダンスを参照してください。
Nextcloudで小さなODTまたはDOCXファイルを作成し、それを開いて文章を入力し、エディタを閉じて、再度ファイルを開きます。これにより、ブラウザ → 公開コードホスト名 → リバースプロキシ → コード → NextcloudへのWOPIリクエスト → ストレージへの保存、という一連の流れ全体がチェックされます。

Office の設定ページでサーバーに接続可能と表示されたからといって、セットアップが完了したわけではありません。正常な状態とは、接続警告なしでエディターが起動し、ドキュメントを編集でき、保存した変更が再度開いた後も保持される状態です。エディターのシェルは起動するものの編集が切断される場合は、まず/cool/.../wsWebSocket ルートを確認してください。エディターがファイルを全く読み込めない場合は、CODE ログ、Nextcloud ログ、両サーバー間の DNS 解決、および WOPI の許可リストルールを確認してください。
| 症状 | まずチェック |
|---|---|
| Nextcloudによると、オフィスサーバーにアクセスできないとのことです。 | /hosting/discoveryNextcloudホストからHTTPS経由で開きます。 |
| ブラウザが502または504エラーを受け取る | コンテナが実行されており、プロキシがアクセスできることを確認してください127.0.0.1:9980。 |
| エディタが起動した後、接続が切断される | WebSocketアップグレードヘッダーと/cool/(...)/wsルートを確認してください。 |
| 証明書エラー | 公開証明書チェーンを修正し、設定されているURLが正しいホスト名を使用していることを確認してください。 |
| WOPIへのアクセスが拒否されました | NextcloudのWOPI許可リストとCODEのNextcloudホスト許可設定を確認してください。 |
| あるネットワークでは動作するが、別のネットワークでは動作しない | 分割DNS、ファイアウォールルール、およびNextcloudとCODEが互いのパブリック名を解決できるかどうかを確認してください。 |
CollaboraはCODEのアップデートを頻繁に公開しています。公式のDocker Hubページには、現在もメンテナンスされているタグが表示されており、Nextcloudのアップグレードガイドによると、Dockerデプロイメントは新しいイメージをプルしてコンテナを再作成することで更新されます。ホームサーバーであれば、追跡はlatest妥当な範囲でしょう。ビジネス用途の場合は、テスト済みのタグを固定し、リリースノートを読み、設定をバックアップしてから、メンテナンス期間中にアップグレードすることをお勧めします。
また、CODE の範囲にも留意してください。Docker Hub では CODE は家庭ユーザー向けの開発版と説明されていますが、Nextcloud のドキュメントでは、より大規模な環境や信頼性が重視される環境については、サポートされているエンタープライズ向けオプションを推奨しています。10 分で完了する Docker のセットアップは、個人用クラウド、ラボ、小規模チームには最適ですが、キャパシティプランニング、監視、バックアップ、エンタープライズサポートの代替にはなりません。
コンテナが起動し、HTTPSプロキシが正しく動作し、/hosting/discovery応答があり、Nextcloud統合が を指しhttps://office.example.com、WOPIが制限され、実際のドキュメントが開いて保存されると、統合は完了です。最も重要なのはコマンドの数ではなく、ネットワークパスの一貫性を保つことです。Nextcloud、CODE、リバースプロキシ、およびユーザーのブラウザはすべて、正しいWebSocketおよびWOPIルートを使用して、期待されるHTTPSホスト名にアクセスできる必要があります。
Jitsi MeetブラウザのCPUスパイクを診断し、ビデオタイル、カメラエフェクト、ブラウザグラフィック、ホスト設定をチェックすることで、クライアントの負荷を軽減します。
Jitsi Videobridgeに内蔵されたPrometheusエンドポイントを使用して、Jitsi Videobridgeの状態、会議の負荷、トラフィックを追跡し、Grafanaでデータを探索およびグラフ化できます。
Jitsi Meet Docker 用のカスタムドメインを、DNS、PUBLIC_URL、HTTPS、Let's Encrypt、ファイアウォールポート、NAT 設定、エンドツーエンド検証とともに構成します。
SSL更新後に発生するZimbra管理コンソールの404エラーを修正するには、正しいURLとポート、プロキシルーティング、サービスステータス、デプロイ済みの証明書、およびログを確認してください。
アクティブなPHP SAPI、サイズ制限、コメント、および再検証設定を確認することで、NextcloudのPHP OPcache構成警告を診断および修正する方法を学びましょう。
MySQLまたはMariaDBのアップグレード後にKopanoデータベースの移行が失敗した場合は、バックアップ、サーバーバージョン、SQLモード、文字セット、スキーマ状態、およびログを確認してトラブルシューティングを行います。
セキュアなトランスポート、ユーザーおよびグループフィルタ、ログイン属性、そしてテスト済みの展開機能を使用して、NextcloudをLDAPまたはActive Directoryに接続します。
UnifiedPush、Androidの権限設定、バッテリー設定、および信頼性の高い検証テストを設定することで、Googleサービスを削除した端末におけるElement Android通知の問題を修正します。
Nextcloudのデータベースインデックス不足警告を、公式のoccコマンドでクリアします。まずバックアップを作成し、変更内容をプレビューしてから修復を実行し、結果を確認してください。
Element Web 用の Keycloak SSO を設定するには、OIDC を Synapse に接続し、正確なコールバック URL を設定し、ユーザー クレームをマッピングし、ログアウトをテストします。