NextcloudをCODE Dockerに接続する:セットアップとトレードオフ

公式collabora/codeイメージを実行してNextcloudをCollabora CODEに接続し、ポートをホストに制限し、WebSocket対応のリバースプロキシ経由でHTTPSオフィスサブドメインをルーティングし、その公開URLをNextcloudのCollabora統合設定で設定します。10分で完了するのは、Docker、DNS、TLS、およびプロキシが準備できている場合に限ります。

まず、適切なオフィスサービスを選択してください。 2026年10月現在、NextcloudはEuro-Officeを基盤とするNextcloud OfficeとCollabora Onlineを区別しています。CODEはCollabora Online開発版なので、Euro-OfficeコネクタではなくCollabora統合機能を使用してください。組み込みのCODEアプリは個人利用には最適ですが、Nextcloudは動作が遅く、高度な拡張性に欠けると説明しています。別のコンテナを使用すれば個別に管理しやすくなりますが、プロキシやアップデート作業が必要になります。CODEは家庭での利用やテストに適していますが、ビジネスで本番環境のサポートが必要な場合は、サポート対象のCollabora Onlineデプロイメントを選択してください。

抽象的なコマンドラインと緑色の実行ステータスインジケーターを備えたターミナルウィンドウ
図:ターミナル画面は、CODEコンテナを起動し、プロセスが実行されていることを確認する様子を表しています。

始める前に:10分間の道のり

有効なNextcloud HTTPSアドレス、有効なTLSを備えた別のオフィスホスト名、およびCODEホスト上のDockerアクセス​​を用意してください。オフィスホスト名を、コンテナにルーティングできるリバースプロキシに指定してください。ユーザーのブラウザとNextcloudサーバーの両方が、オフィスURLにアクセスできる必要があります。

DNSまたはTLSが準備できていない場合は、ポート9980をショートカットとして公開しないでください。ループバックにバインドし、まずプロキシを完成させてください。

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

サンプルとして示されている Nextcloud ホスト名を、ユーザーがサインインに使用する正確な HTTPS オリジンに置き換えてください。このaliasgroup1設定は、WOPI ホスト (エディタにドキュメントを提供するファイル サービス) が接続できるホストを制限します。接続失敗を単に隠すためだけにワイルドカードを使用しないでください。

docker pull collabora/code

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

バインドすることで127.0.0.1ポートを非公開に保ちつつ、同じホスト上のプロキシからはそのポートにアクセスできます。プロキシが別の場所にある場合は、その信頼できるプロキシのみがポート9980に接続できるように設定してください。

コンテナが起動し、その検出エンドポイントがローカルで応答することを確認してください。

docker ps --filter name=collabora-code
docker logs --tail=50 collabora-code
curl -kfsS -o /dev/null -w 'Discovery HTTP %{http_code}\n' https://127.0.0.1:9980/hosting/discovery

-kこれは、このローカル自己署名証明書のチェックに対してのみ証明書の検証をバイパスするものであり、無効な公開証明書を修正するものではありません。

2. 公共オフィスのホスト名をHTTPSで保護する。

https://office.example.comリバースプロキシから有効な証明書を使用してサービスを提供し、リクエストをCODEにルーティングしてください。Collaboraのプロキシに関するガイダンスでは、エディターのアセット、検出/機能/cool/、WebSocket転送について説明しています。WebSocketのアップグレードを行わないと、ページは読み込まれるもののエディターが動作しない場合があります。

プロキシソフトウェアには、管理されている設定を使用してください。CODEよりも先にTLSを終端する場合は、ドキュメントに記載されているバックエンドTLS設定に従ってください。証明書チェックを全体的に無効にしないでください。

保護されたホスト名と2つのトラフィック経路を示すリバースプロキシ設定画面
図:プロキシ設定画面は、HTTPSオフィスホスト名とCODEに到達する必要のあるルートを表しています。

3. NextcloudでCollaboraとの連携を接続する

Nextcloud で、お使いのリリースで利用可能な Collabora 統合アプリを有効にするかインストールします。次に、Office の管理エリアを開き、公開 Collabora URL を入力しますhttps://office.example.com。現在のマニュアルでは、この設定を「Collabora Online Server」と表記していますが、特に Nextcloud が Euro-Office オプションを追加すると、リリースによって文言やアプリのラベルが異なる場合があります。この CODE サーバーには Collabora Online を選択します。Nextcloudhttps://127.0.0.1:9980自体が同じホストで実行され、そのアドレスが構成済みのサービス エンドポイントでもある場合を除き、コンテナのみのアドレスを入力しないでください。推奨されるプロキシ設定では、公開オフィス ホスト名を使用します。

設定を保存し、お使いのリリースに組み込みの接続チェック機能がある場合は、それを実行してください。接続チェックが失敗した場合は、Nextcloud の正確なオリジンを と比較しaliasgroup1、Nextcloud とブラウザの両方がオフィスホスト名を解決してアクセスできることを確認し、リバースプロキシのログを調べて、拒否されたパスや WebSocket エラーがないか確認してください。

Nextcloudスタイルの管理パネル、オフィス連携カード、サーバーURLフィールド
図:管理パネルでは、Collaboraとの連携を選択し、そのHTTPSサーバーアドレスを入力する様子が示されています。

4. 編集内容を確認し、コードが適切かどうかを選択します。

Nextcloudで小さなテスト文書を開き、ブラウザのエディタで開き、変更が受け入れられ、保存され、変更が保持された状態で再度開かれることを確認してください。通常のユーザーアカウントと管理者アカウントの両方でテストしてください。検出チェックが正常に機能しているかどうかは、CODEが応答することを示しているだけで、WOPI認証、プロキシWebSocket、および文書の保存操作がすべて正常に機能していることを証明しているわけではありません。

ツールバーと開いているドキュメントページが表示されたブラウザベースのドキュメントエディタ
図解:ドキュメントエディタが開いている状態は、Nextcloudが編集インターフェースを起動できるかどうかの最終確認です。

個人サーバーや小規模チームの場合、CODE DockerはエディタをNextcloudのPHPスタックから分離します。プロキシ、再起動、互換性チェック、イメージ更新もすべてユーザーが管理できます。組み込みのCODEアプリはシンプルですが、ホストを共有し、拡張性に関する機能は少なくなります。日常的に編集作業を行う組織の場合は、CODEを本番環境の保証として扱うのではなく、サポートされているCollabora Onlineサービスを検討することをお勧めします。

CODEを更新する準備ができたら、新しいイメージをプルし、同じオプションでコンテナを再作成してください。ユーザーが依存するサービスを更新する前に、リリースノートを確認し、ドキュメントの開閉と保存をテストしてくださいlatest。タグは移動する可能性があります。繰り返し展開する必要がある場合は、特定のイメージバージョンを固定してください。

検証

設定が正常に機能している場合は、公開されているオフィスホスト名に有効な証明書が表示され、Nextcloud の接続チェックが成功し、テスト文書がエディタで開き、保存され、再度開かれます。オフィスのランディングページは読み込まれるものの編集が停止する場合は、WebSocket の転送設定を確認してください。Nextcloud がホストを許可していないと報告する場合は、aliasgroup1実際の Nextcloud オリジンと一致するように修正してください。CODE がローカルでは応答するものの、ユーザーのブラウザからは応答しない場合は、パブリック DNS、ファイアウォールのルーティング、およびリバースプロキシを確認してください。

参考資料: Nextcloud の Docker インストール例、Nextcloud Office のインストールオプション、Nextcloud Collabora の設定、Collabora リバースプロキシ設定、公式 CODE Docker イメージの詳細、Nextcloud Hub 26 Summer オフィスオプション。

コメントを残す

スケジュールされたキューを使用して、NextcloudプレビューのCPUスパイクを抑制する

サムネイル作成作業を制御されたバックグラウンドスケジュールに移行し、使用されていないプレビューサイズをトリミングし、Nextcloudサーバーに過負荷をかけることなくキューを検証します。

Nextcloudデスクトップ同期で「ファイルの処理中」を解消しましょう

Nextcloudの同期を妨げているファイル、除外ルール、接続の問題、またはクライアントデータベースの状態を特定し、アップロードとダウンロードが安全に行われることを確認します。

適切な制限値を調整して、Nextcloud OPcache の警告を解消する

Nextcloudの警告を引き起こしているPHP OPcacheの制限値を特定し、適切なWeb PHP設定を更新し、安全に再起動して、結果を確認してください。

NextcloudをCODE Dockerに接続する:セットアップとトレードオフ

NextcloudをCODE Dockerに接続する:セットアップとトレードオフ

組み込みのCODEとDockerベースのCODEを比較し、安全なHTTPSリバースプロキシを介してCollabora OnlineをNextcloudに接続します。

Galeraを使用して、回復力の高いNextcloudクラスターを構築する

共有ストレージ、Redisロック、クォーラム対応MariaDBルーティング、および実用的なフェイルオーバーチェックを備えた、信頼性の高いNextcloud HAデプロイメントを計画します。

Direct Mediaが失敗した場合にNextcloud Talkの通話を繋ぐ方法

Direct Mediaが失敗した場合にNextcloud Talkの通話を繋ぐ方法

ファイアウォールや制限的なNATによって直接通話メディアがブロックされる場合に、Nextcloud Talk用の到達可能なTURNリレーを設定および検証します。

適切なファイルを復元してNextcloudの整合性警告を解消する

無効ファイルレポートを使用して、変更された、欠落している、または余分な Nextcloud コードを特定し、信頼できるファイルを安全に復元し、結果を確認します。

OAuth2を使用してGmailまたはMicrosoft 365をNextcloudメールに接続する

Nextcloud MailでGmailまたはMicrosoft 365を使用してOAuth2を設定し、送受信を確認し、一般的な同意エラーやSMTPエラーを解決します。

OCCを使用してNextcloudのメンテナンスモードを安全に解除します。

OCCを使用してNextcloudのメンテナンスモードを安全に解除します。

OCCを使用してNextcloudへのアクセスを復元し、データベース移行のステータスを確認し、アーカイブ、Docker、またはSnapのインストールに適したコマンドを選択します。

Nextcloud LDAPとActive Directoryログインの設定

NextcloudをLDAPまたはActive Directoryに接続し、ユーザーおよびグループフィルタを使用してアクセスを制限し、展開前に安全な認証を検証してください。