Nextcloudをセルフホスト型のCollabora CODEコンテナに接続する

Nextcloud を自己ホスト型の Collabora Online Development Edition (CODE) コンテナに接続するには、CODE を別のホスト名で実行し、HTTPS で保護し、そのパブリック URL を Nextcloud Office に入力します。CODE コンテナは、Nextcloud サイトのオリジンを WOPI ホストとして許可する必要もあります。以下の例では、Nextcloud はcloud.example.com、Collabora は です。office.example.com両方とも実際のホスト名に置き換えてください。

docker pull collabora/code コマンドを表示する Linux ターミナル プロンプト
Collabora CODEイメージをダウンロードするために使用したコマンドが表示されたターミナルプロンプト。

始める前に準備しておくべきことは何ですか?

正常に動作するNextcloudのインストール環境、CODEコンテナを実行できるDockerホスト、NextcloudとCollaboraのホスト名に対応するDNSレコード、および両方の公開サイトに対応する有効なHTTPS証明書が必要です。NextcloudホストとCollaboraサーバーは、ネットワーク経由で相互に通信できる必要があります。専用のCollaboraサーバーは、組み込みのCODEオプションよりも容量を向上させることを目的としていますが、まだ開発版であるため、大規模な環境やビジネス上重要な環境で使用する前に、Collaboraの最新の利用規約とリリースガイドラインを確認してください。

このチュートリアルでは、リバースプロキシがDockerホスト上で実行され、HTTPSトラフィックをoffice.example.comコンテナのローカルポートに転送することを前提としています。プロキシが別のコンテナまたは別のマシンで実行される場合は、ループバックポートのマッピングをそのままコピーしないでください。プロキシがアクセスできるプライベートなDockerネットワークまたはプライベートホストアドレスを使用し、バックエンドが外部に公開されないようにファイアウォールを設定してください。

1. CODEコンテナを起動します

まず、イメージをプルしてコンテナを起動します。エイリアス設定では、プロトコルとポートを含むNextcloudのパブリックオリジンを使用します。CollaboraのURLは入力しないでください。NextcloudのDockerインストール例では、このパターンが使用されています。

docker pull collabora/code
docker run -t -d -p 127.0.0.1:9980:9980 \
  -e 'aliasgroup1=https://cloud.example.com:443' \
  --restart always \
  --cap-add MKNOD \
  collabora/code

ループバックバインディングでは、ポート9980はDockerホストからのみアクセス可能であり、同じホスト上のリバースプロキシなどを介してのみアクセスできます。プロキシは、コンテナポートを非公開にしたまま、ブラウザとNextcloudに公開HTTPSエンドポイントを提供します。Nextcloudが標準以外のポートまたは別の公開ホスト名で提供される場合は、エイリアスをユーザーが実際に使用するオリジンと一致させてください。複数のNextcloudインスタンスがある場合は、任意のドメインを広く許可するのではなく、Collaboraのドキュメントに記載されている構文を使用して、許可された各WOPIホストを設定してください。

上記のコマンドは、Nextcloud 35 管理マニュアルの Docker の例に基づいています。本番環境で使用する前に、最新の CODE イメージのドキュメントを確認し、メンテナンスプロセスに合ったリリース/タグ更新ポリシーを選択してください。デフォルトのイメージ参照は、リリースが公開されるにつれて変更される可能性があります。更新計画を立て、コンテナを監視し、アップグレード後にドキュメント編集を再テストしてください。

Nextcloud管理アプリのページで、Nextcloud Officeアプリが有効になっていることが表示されている。
アプリ管理画面では、サーバー設定前にNextcloud Officeが有効になっていることが確認できます。

2. コンテナをHTTPSリバースプロキシの背後に配置する

既存のプロキシを設定して、https://office.example.comCODE サービスへのリクエストを処理して転送します127.0.0.1:9980。プロキシ ソフトウェアには、Collabora の現在のリバース プロキシ設定を使用してください。プロキシは必要なパスを保持し、WebSocket のアップグレードをサポートする必要があります。エディタのブラウザー セッションはこれらに依存しています。Nextcloud Docker の例には、WebSocket エンドポイントを含む、、、、/browserおよびのルートが含まれています。一部の統合では、互換性ルートも使用されます。/hosting/discovery/hosting/capabilities/cool/lool

ホームページの読み込みが成功したからといって、プロキシが正常に動作しているとは限りません。通常のHTTPSリクエストは処理できるものの、WebSocket接続のアップグレードに失敗したプロキシは、エディタフレームを表示した後、読み込み中または接続が切断されたままになることがあります。Collaboraホスト名には有効な公開証明書を使用してください。プロキシを唯一のエントリポイントとする場合は、ポート9980をインターネットからアクセスできないようにしてください。

3. Nextcloud Officeを有効にして、サーバーのURLを入力します。

外部サーバーが選択され、URLがhttps://office.example.comとなっているNextcloud Office管理ページ
外部サーバーオプションを選択し、Collaboraの公開HTTPS URLを入力してください。

Nextcloudで、アプリを開いてNextcloud Office(統合機能)をインストールまたは有効化しますrichdocuments。次に、管理設定→オフィスを開き、外部Collaboraサーバーオプションを選択して、と入力しますhttps://office.example.com。設定を保存します。ではなく、公開URLを使用してください。Nextcloudlocalhost:9980サーバーとユーザーのブラウザが同じ外部Collaboraエンドポイントを解決する必要があります。

Nextcloudの管理マニュアルによると、設定するサーバーURLはCollaboraのインストール時と同じプロトコルを使用する必要があり、HTTPSを推奨しています。保存後、Nextcloudは接続状況または検出状況を表示する場合があります。証明書、DNS、またはWOPIの問題が報告された場合は、ファイルを開く前に該当する問題を解決してください。

4. WOPIパスを確認し、テストドキュメントを開きます。

WOPIは、NextcloudがCollaboraにドキュメントへの制御されたアクセス権限を与えるために使用するプロトコルです。NextcloudのOffice管理設定で、WOPIリクエストの許可リストを確認し、CollaboraサービスがNextcloudにアクセスする際のIPアドレスからのリクエストのみを許可するように制限してください。また、Collaboraが意図したWOPIホストのみを受け入れるように設定してください。コンテナ、NAT、またはリバースプロキシが関係する場合、正確なアドレスは異なる可能性があるため、推測するのではなく、Nextcloudのログに実際に記録されている送信元アドレスを使用してください。

クラウドファイルインターフェース上で、オンラインのワープロ文書が開かれ、書式設定ツールバーが表示されている。
編集ツールバーが表示された開いたドキュメントは、Office連携が正しく動作していることを確認するための最終的な視覚的チェックです。

機能チェックを行うには、通常のNextcloudユーザーとしてサインインし、小さなDOCXまたはODTファイルを作成またはアップロードして、「ファイル」から開きます。エディタが読み込まれることを確認し、無害な変更を加え、保存インジケーターが表示されるまで待ち、ドキュメントを閉じてから再度開き、変更が保持されていることを確認します。展開に関係するすべてのファイルタイプとユーザーグループでテストしてください。DOCXのテストが成功したからといって、すべてのフォーマットや権限パスが正しく設定されているとは限りません。

エディタが開かない場合、何をチェックすればよいですか?

  • 検出または接続エラー:office.example.com Nextcloud サーバーとブラウザから解決されること、証明書が有効であること、プロキシが/hosting/discoveryCODE に送信されていることを確認します。
  • 読み込みが延々と続く、またはエディタが切断される:リバースプロキシのWebSocketアップグレード処理と/coolルーティングを確認してください。プロキシとコンテナのログを確認し、拒否されたリクエストがないか調べてください。
  • WOPI ホストが拒否されました:スキームとポートを含む、設定済みの Nextcloud のパブリック オリジンと正確に比較してくださいaliasgroup1。Nextcloud から見える Collabora の送信元 IP アドレスに対して、Nextcloud の WOPI 許可リストを確認してください。
  • ホスト上では動作するが、Nextcloudでは動作しない: Nextcloudサーバーから公開されているCollabora URLへの接続をテストします。コンテナの内部ホスト名またはDockerホストのlocalhostアドレスは、他のすべてのコンテナから自動的にアクセスできるわけではありません。
  • 証明書に関する警告:証明書チェーンまたはホスト名の不一致を修正してください。証明書の検証を無効にすると、原因が隠蔽され、接続が弱体化する可能性があります。

診断を行うには、設定を公式のNextcloud Docker インストール例、Office および WOPI の設定ガイド、Collabora のCODE Docker イメージおよびリバースプロキシのドキュメントと比較してください。これらの資料はバージョン管理されており、変更される可能性があります。ここに記載されているコマンドは、2026 年 10 月 10 日時点で利用可能な Nextcloud 35 の管理例に基づいています。

コメントを残す

Collabora Onlineのフォントサイズドロップダウンの表示ミスを修正する

Collabora Onlineのフォントサイズドロップダウンの表示ミスを修正する

ブラウザのズームをリセットし、クリーンなセッションをテストし、サイズが不正なメニューにCollaboraサーバーのアップデートが必要なタイミングを特定します。

Nextcloudをセルフホスト型のCollabora CODEコンテナに接続する

Nextcloudをセルフホスト型のCollabora CODEコンテナに接続する

Collabora CODEをDockerでデプロイし、Nextcloud Officeに安全に接続し、実用的なWOPIおよびプロキシチェックでドキュメント編集を検証します。

coolwsdログを使用してCollabora接続障害を追跡する

coolwsdログを使用してCollabora接続障害を追跡する

一時的にcoolwsdをデバッグモードに上げ、オープンに失敗したログを1つキャプチャし、ログシーケンスを使用してWebSocket、WOPI、プロキシ、およびコンテナの問題を分離します。

Collabora管理コンソールに安全なパスワードを設定する

Collabora管理コンソールに安全なパスワードを設定する

Collabora OnlineのDockerまたはLinux用の管理者ログインを設定し、適切なサービスを再起動し、新しいパスワードを公開せずに検証してください。

Collaboraのcoolwsdまたはloolwsdを使用してCPU使用率が高い場合の診断を行う

Collaboraのcoolwsdまたはloolwsdを使用してCPU使用率が高い場合の診断を行う

Collaboraの設定を変更したりサービスを再起動したりする前に、CPU負荷の原因がアクティブなドキュメント、アイドル状態のワーカープロセス、またはサーバー容量のいずれにあるかを確認してください。

推測せずにCODEコンテナのメモリ上限を引き上げる

推測せずにCODEコンテナのメモリ上限を引き上げる

DockerがCollabora CODEのメモリ使用量を制限しているかどうかを確認し、Composeのメモリ制限を安全に引き上げ、実行中のコンテナが新しい制限値を受け入れたことを確認します。

Collabora CODEのツールバーをソースコードを編集せずにカスタマイズする方法

Collabora CODEのツールバーをソースコードを編集せずにカスタマイズする方法

Collabora CODEをコンパクトモードまたはタブモードとWOPI PostMessageコントロールで簡素化し、選択したボタン、コマンド、タブを安全に非表示にできます。

Collabora CODEをTLS終端処理付きでNginxの背後で実行する

Collabora CODEをTLS終端処理付きでNginxの背後で実行する

Collabora CODEコンテナのHTTPSをNginxに任せ、WebSocketのフォワード編集を正しく行い、ポート9980を公開せずにパブリックエンドポイントを検証します。

Collaboraモバイルキーボードを開いたときにテキストを表示したままにする

Collaboraモバイルキーボードを開いたときにテキストを表示したままにする

Collabora Onlineでモバイルブラウザのキーボードがテキストを覆い隠してしまう問題のトラブルシューティング。ブラウザ、埋め込みWebView、ホストページそれぞれについて、迅速な回避策と個別のチェック方法を紹介します。

ONLYOFFICEで不要な印刷とダウンロードを停止する

ONLYOFFICEで不要な印刷とダウンロードを停止する

ONLYOFFICEリンク、会議室メンバー、またはDocs APIセッションに対して印刷とダウンロードの制限を設定し、受信者アカウントから制限内容を確認します。