Collabora OnlineをSeafileに接続する方法:設定オプションと手順
SeafileをDockerまたは別のホストを使用してCollabora Onlineに接続します。デプロイメントのトレードオフを比較し、HTTPSとWOPIの設定を構成し、編集内容を確認します。
Seafileは、ストレージサーバーとオンラインエディター間で文書情報やファイルコンテンツを交換できるプロトコルであるWOPIを介して、Collabora OnlineでサポートされているOfficeファイルを開くことができます。最適なデプロイメントは、Seafileの実行場所、HTTPSとリバースプロキシの管理方法、そしてCollaboraを同じDockerネットワーク上に配置するか、別のサーバー上に配置するかによって異なります。
このガイドは、最新のSeafile管理者マニュアルのCollabora統合手順(Seafile 14.0ドキュメント、2026年10月6日確認)に基づいています。Docker Composeファイルとイメージタグは変更される可能性があるため、古いチュートリアルのCompose構成全体をコピーするのではなく、インストールされているSeafileリリースのファイルを使用してください。
| オプション | 最適なフィット感 | 主なトレードオフ |
|---|---|---|
| シーファイル横のコラボラコンテナ | Seafileに付属のComposeファイルを使用したシングルノードDockerインストール | 最短経路と内部サービス名によるネットワーク接続を実現するが、両サービスとも1つのホストのCPU、メモリ、およびメンテナンスウィンドウを共有する。 |
| Collaboraは別のホスト上で動作しています。 | 既存のCollaboraサービス、個別のキャパシティプランニング、またはマルチホスト展開 | 独立したスケーリングとアップグレードが可能ですが、公開HTTPSエンドポイント、リバースプロキシ、およびCollaboraとSeafile間の信頼性の高いネットワークアクセスが必要です。 |
新規のシングルノードDockerデプロイメントの場合は、Seafileに付属のファイルから始めますcollabora.yml。既存のスタンドアロンCollaboraサーバーまたはクラスターの場合は、Collabora独自のインストールガイドを使用し、Seafileの検出URLを外部Collaboraアドレスに設定します。Seafile統合ガイドでは、SeafileにHTTPSが必要であると記載されており、別のCollaboraノードは標準ポート443でHTTPSを使用し、ポート9980のCollaboraサービスにリバースプロキシする必要があるとされています。Seafile Collaboraオンライン統合ガイドとCollaboraインストールドキュメントを参照してください。
office.example.comCollaboraにユーザーのブラウザから独立してアクセスする場合は、例えば のようなCollaboraホスト名を選択してください。Seafileを設定する前に、DNSとTLS証明書が正しく機能するようにしてください。seahub_settings.pyおよび必要に応じてDocker.envファイルへの管理者アクセス権を取得してください。Collaboraの管理者パスワードは保護された環境ファイルに保存し、スクリーンショット、ログ、または公開リポジトリには公開しないでください。Seafileのドキュメントには、サポートされているComposeレイアウトにおける同一ホスト環境でのDockerの手順が記載されています。リバースプロキシ、Composeプロジェクト、またはネットワークが異なる場合は、以下の例の値を出発点として、ご自身のデプロイメント環境でサービス名とルートを確認してください。
Seafile Composeの設定ファイルが格納されているディレクトリから、使用しているSeafileリリースに対応するCollaboraファイルをダウンロードしてください。現在のマニュアルに記載されているSeafile 14.0のパスは以下のとおりです。
wget https://manual.seafile.com/14.0/repo/docker/collabora.yml
既存のリストを開いて.env追加します。現在のエントリはすべて保持されます。たとえば、Seafileサーバー、Caddy、およびSeaDocファイルが既にリストされているインストール環境では、リストを置き換えるのではなく、Collaboraファイルが追加されます。collabora.ymlCOMPOSE_FILE
COMPOSE_FILE='seafile-server.yml,caddy.yml,seadoc.yml,collabora.yml'
実際のリストは異なる場合があります。この例に合わせるためだけに、現在のリバースプロキシやその他のサービスを削除しないでください。Compose ファイルは、Seafile のバンドルされたデプロイメントで想定されるコンテナとネットワークの設定を定義します。
Seafileで説明されている変数を同じ.envファイルに追加してください。現在の例ではローリングcollabora/codeイメージ名を使用していますが、再現可能なアップグレードが必要なチームは、環境でサポートされているCollaboraリリースタグを選択し、意図的に固定する必要があります。動作中のエディタサービスを変更する前に、リリースノートを確認し、アップグレードをテストしてください。
COLLABORA_IMAGE=collabora/code
COLLABORA_PORT=6232
COLLABORA_USERNAME=admin
COLLABORA_PASSWORD=replace-with-a-long-random-secret
COLLABORA_ENABLE_ADMIN_CONSOLE=true
COLLABORA_REMOTE_FONT=
COLLABORA_ENABLE_FILE_LOGGING=false
ポート値は、SeafileのComposeサンプルで使用されるホスト側のポート番号です。Collaboraはコンテナ内でポート9980をリッスンします。管理コンソールは非公開にするか、プロキシ/ファイアウォールでアクセスを制限してください。上記のユーザー名とパスワードは例です。固有の認証情報を選択し、ファイルを保護してください。組織で管理コンソールが不要な場合は、Composeテンプレートでサポートされている設定に従って無効にしてください。
Collabora統合設定を編集しseahub_settings.pyて追加します。同じComposeネットワーク上のコンテナの場合、Seafileの現在の例では内部サービス名を使用していますcollabora。
OFFICE_SERVER_TYPE = 'CollaboraOffice'
ENABLE_OFFICE_WEB_APP = True
OFFICE_WEB_APP_BASE_URL = 'http://collabora:9980/hosting/discovery'
WOPI_ACCESS_TOKEN_EXPIRATION = 30 * 60
OFFICE_PREVIEW_MAX_SIZE = 30 * 1024 * 1024
ENABLE_OFFICE_WEB_APP_EDIT = True
OFFICE_WEB_APP_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
OFFICE_WEB_APP_EDIT_FILE_EXTENSION = (
'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)
内部検出URLは、共有Dockerネットワーク上でのSeafileとCollabora間の通信に使用されます。ユーザーのブラウザは、統合によって提供されるCollaboraアドレスにアクセスできる必要があります。公式のComposeファイルとプロキシ設定に従って、ブラウザ向けのルートが安全に公開されるようにしてください。Docker内部でのみ解決されるコンテナ専用のホスト名は、公開ブラウザURLとして使用できません。
ファイル拡張子リストは、ユーザーが必要とする形式と、Collaboraのビルドがサポートする形式に限定してください。上記のプレビューサイズ設定は、Seafileの現在の例における30MiBの値です。より大きなドキュメントの場合は、メモリとパフォーマンスへの影響を考慮した上で、意図的に制限値を変更する必要があるかもしれません。
Composeの設定を検証してから、プロジェクトディレクトリからスタックを起動します。
docker compose config
docker compose up -d
Seafile のガイドには、変更後に Seafile を再起動するように記載されていますseahub_settings.py。Docker デプロイメントの場合、docker compose up -d更新された Compose 設定が適用されます。設定の編集が有効にならない場合は、リリース用のメソッドを使用して Seafile サービスを再起動してください。docker compose downスタック全体を停止するつもりがない限り、広範囲にわたる変更は避けてください。
Collabora の公式展開およびリバースプロキシの手順に従って、Collabora をインストールして公開します。通常の公開エンドポイントでは HTTPS を使用し、リクエストを Collabora の内部ポート 9980 にプロキシします。Seafile ホストが Collabora にアクセスできること、および Collabora が Seafile の HTTPS アドレスにアクセスできることを確認してください。WOPI ドキュメントの読み込みには、双方向のアクセスが重要です。
前のセクションの他の Seafile 設定はそのままにして、検出設定を実際の Collabora ホスト名に変更してください。
OFFICE_WEB_APP_BASE_URL = 'https://office.example.com/hosting/discovery'
実際のホスト名と証明書を使用してください。SeafileとCollaboraが実際にその名前が解決されるネットワークを共有している場合を除き、内部Dockerサービス名を含めないでください。ホストを分けることで、リソースとメンテナンスを独立して制御できますが、DNS、ファイアウォール、証明書、リバースプロキシの設定作業が必要になります。Seafileクラスタの場合は、単一ノードのComposeネットワークが適用されるという前提ではなく、クラスタのプロキシとサービス検出の設計に従ってください。
https://office.example.com/hosting/discovery。同一ホスト環境の場合は、プロキシによって公開されているCollaboraのパブリックルートをテストしてください。応答が成功すれば、検出エンドポイントに到達可能であることを確認できますが、それだけではWOPI編集が機能することを証明するものではありません。.docx、ファイル.xlsx、またはファイルを開きます。.odt安全に編集できるファイルでテストしてください。エディタが表示されても保存が成功しない場合は、部分的な成功にすぎません。WOPIはファイルを取得し、編集後のバージョンをSeafileに返すことができなければなりません。
| 症状 | 最初のチェック |
|---|---|
| Seafileはオンラインオフィスが利用できないと報告している。 | 設定変更後にSeahubが再起動されたかどうか、検出URLをOFFICE_SERVER_TYPE確認してください。ENABLE_OFFICE_WEB_APP |
| サーバー側では検出機能が動作するが、ブラウザには空白のエディタが表示される | ブラウザがHTTPS経由でCollaboraのパブリックホスト名にアクセスできることを確認し、プロキシパスとTLS証明書が正しいことを確認してください。内部Dockerホスト名は、ユーザーのブラウザから自動的にアクセスできるわけではありません。 |
| エディタは読み込まれますが、ファイルを取得または保存できません。 | CollaboraとSeafileのログ、相互のネットワークアクセス、HTTPS証明書の信頼性、およびWOPIリクエストを確認してください。Seafileは、Seahubがiframeを作成し、ブラウザがCollaboraを読み込み、CollaboraがSeahubからファイルコンテンツをリクエストするというリクエストフローを記録しています。 |
| オフィスファイルの一部のみが開きます | プレビューおよび編集拡張機能のタプル、Seafileのプレビューサイズ制限、およびインストールされているCollaboraビルドでサポートされているフォーマットを確認してください。 |
Dockerログについては、Seafileドキュメントdocker logs seafile-collaboraを参照してください。Seafile/SeahubログとCollaboraの出力を照合し、プロキシでリクエストを関連付けてください。ドキュメントのURLやその他の機密性の高い運用詳細が公開される可能性がある場合は、詳細ログやファイルログを無期限に有効にしないでください。Collaboraの公式トラブルシューティングガイドには、Collabora側の障害に関する追加のチェック項目が記載されています。
Seafileのインストール環境が単一のDockerホストであり、サポートされているCompose接続が必要で、SeafileとのCPUおよびメモリの共有が許容される場合は、バンドルされているコンテナを選択してください。既にCollaboraホストを運用している場合、独立した容量やアップグレードスケジュールが必要な場合、またはマルチホストアーキテクチャを統合していてHTTPSとネットワークルーティングを確実に維持できる場合は、別のCollaboraホストを選択してください。いずれの場合も、Seafileのリリースに対応したドキュメントに従い、ブラウザに公開するエンドポイントを安全に保ち、ユーザーがオンライン編集を利用する前に、ドキュメントの開閉と保存の両方を検証してください。
SeafileをDockerまたは別のホストを使用してCollabora Onlineに接続します。デプロイメントのトレードオフを比較し、HTTPSとWOPIの設定を構成し、編集内容を確認します。
画像が多いLibreOffice Writerファイルで、入力、スクロール、保存が遅い場合の診断を行います。ディスプレイ設定をテストし、サイズの大きい画像を圧縮して、プロファイルまたはハードウェアの問題を特定します。
公式Helmチャートを使用して、Kubernetes上にCollabora CODEをデプロイします。イングレス、TLS、WOPIホストアクセス、シークレット、スケーリング、エンドツーエンドチェックを設定します。
LibreOffice Impressで作成した大きなプレゼンテーションのサイズを小さくするには、大きすぎる写真を圧縮し、適切な解像度とJPEG品質を選択し、保存したファイルをチェックして、スライドの読みやすさを損なわないようにします。
Collabora Online CODEをDockerにインストールし、リバースプロキシ経由で安全に公開し、Nextcloud Officeに接続して、ブラウザベースのドキュメント編集が機能することを確認します。
VPS 上で ONLYOFFICE Docs のメモリ エラーを診断し、ホストと Docker の制限を確認し、ログと忘れられたドキュメントを確認し、安全にスワップを追加し、アクティブな編集を危険にさらすことなく再起動します。
Collabora Online のコピー&ペーストとローカルアプリとの連携に関するトラブルシューティングは、キーボードショートカット、ブラウザのクリップボード権限、HTTPS、iframe ポリシー、コンテンツ形式などをテストすることで行います。
Linux 版 ONLYOFFICE デスクトップエディタでテキストがぼやける問題を解決するには、ディスプレイのスケーリング、アプリのインターフェースのスケーリング、フォントの利用可能性、レンダリング範囲を安全な順序で確認してください。
Writerフォームコントロールの追加方法、ラベルとタブ順序の設定方法、PDF作成フォームを有効にしたエクスポート方法、そして共有前にインタラクティブPDFをテストする方法を学びましょう。
ONLYOFFICE Workspace、DocSpace、またはDocsとの連携において、印刷とダウンロードをブロックする方法を学び、各共有方法に適用される制御機能を確認してください。