SeafileとCollaboraを正しいWOPI URLに接続します。

SeafileとCollabora Onlineを接続するには、SeafileでHTTPSを有効にし、Collaboraをデプロイして、SeafileのOffice統合をCollaboraの検出エンドポイントに設定します。両方のサービスが同じDockerネットワーク上で実行されている場合、Seafileの現在の統合ガイドでは内部URLを使用しますhttp://collabora:9980/hosting/discovery。Collaboraが別のホスト上で実行されている場合は、代わりにそのパブリックHTTPS URLを使用してください。

Seafile の最新管理マニュアルには、専用のcollabora.ymlCompose 統合と設定が記載されていますseahub_settings.py。デプロイメントファイルは Seafile のバージョンによって異なる場合があるため、これらの例を適用する際は、インストールされているリリースに合ったマニュアルを参照してください。

始める前に

  • 有効なTLS証明書を備えたHTTPS Seafileアドレスを使用してください。Seafileは、Collaboraとの連携要件としてHTTPSを挙げています。
  • Collaboraが同じDockerホスト上の別のコンテナとして実行されるのか、それとも別個のホスト型サービスとして実行されるのかを確認してください。
  • Seafileのデプロイメントディレクトリへの管理者アクセス権とseahub_settings.py、
  • プレビューと編集を許可するドキュメント形式を選択してください。これらの拡張子リストは、Seafileの設定で制御されます。

SeafileとCollaboraはWOPIを使用して通信します。Seafileはドキュメントへのアクセス情報を提供し、CollaboraはSeafileにファイルを要求します。検出URLは、Seafileが使用するCollaboraサービスと、どのエディター機能を公開しているかを指示します。

1. SeafileでHTTPS接続を確認する

Seafileをブラウザで開き、通常のアドレスがで始まりhttps://、証明書が有効であることを確認してください。SeafileのDockerデプロイメントの場合、現在のマニュアルでは、ファイルSEAFILE_SERVER_PROTOCOL=httpsの設定を行い.env、構成済みのリバースプロキシを介してHTTPSセットアップを完了するように指示されています。公開されているプレーンHTTPのSeafileエンドポイントを使用しないでください。

# In the Seafile deployment .env file
SEAFILE_SERVER_PROTOCOL=https

実際の証明書と秘密鍵は、TLSプロキシまたは証明書マネージャーで管理してください。この設定だけでは証明書の発行やリバースプロキシの設定は行われません。オンラインオフィス編集を有効にする前に、展開環境におけるHTTPSの設定手順を完了してください。

2. SeafileのDockerデプロイメントにCollaboraを追加する

ドキュメントに記載されている同一ホストの Docker セットアップでは、無関係なコンテナ定義を作成するのではなく、Seafile が提供する Collabora Compose ファイルを使用してください。Seafile デプロイメント ディレクトリで、対応する手動バージョンのファイルをダウンロードし、collabora.yml既存のCOMPOSE_FILEリストに追加します.env。インストールですでに使用されている Compose ファイルはそのままにしておきます。

# Example for a Seafile 14.0 deployment
wget https://manual.seafile.com/14.0/repo/docker/collabora.yml

Seafileで説明されているCollabora変数を設定します.env。

COLLABORA_IMAGE=collabora/code
COLLABORA_PORT=6232
COLLABORA_USERNAME=your_admin_username
COLLABORA_PASSWORD=use_a_long_unique_secret
COLLABORA_ENABLE_ADMIN_CONSOLE=true
COLLABORA_ENABLE_FILE_LOGGING=false

固有の強力なパスワードを使用し、.env認証情報が含まれているためファイルへのアクセスを制限してください。例のポートはSeafileの統合設定で公開されているポートです。リバースプロキシのパブリックポートと同一であるとは限りません。collabora.ymlご使用のリリースに合わせて、該当するファイルとプロキシ構成に従ってください。

デプロイメントにサービスを追加したら、通常のSeafileの手順に従ってComposeスタックを起動または更新してください。設計上明示的に必要で、エンドポイントを保護している場合を除き、Collaboraの内部ポートをインターネットに直接公開することは避けてください。

3. SeafileをCollaboraの検出URLに指定する

アクティブ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_WEB_APP_FILE_EXTENSION = (
    'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
    'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)

ENABLE_OFFICE_WEB_APP_EDIT = True
OFFICE_WEB_APP_EDIT_FILE_EXTENSION = (
    'odp', 'ods', 'odt', 'xls', 'xlsb', 'xlsm', 'xlsx',
    'ppsx', 'ppt', 'pptm', 'pptx', 'doc', 'docm', 'docx'
)

ここに記載されているURLhttp://は、Seafileの公式ドキュメントに記載されているDockerネットワークにおける、サービス間通信用の内部アドレスです。ブラウザからアクセスするSeafileサイトは、引き続きHTTPSに対応している必要があります。この内部アドレスを別のホスト環境にコピーしないでください。

別のホスト上の Collabora の場合、標準のパブリック ポートで HTTPS の背後で Collabora を設定し、リバース プロキシがリクエストを Collabora のリスニング ポートに転送するようにします。ベース URL を実際のパブリック ホスト名に設定します。例:

OFFICE_WEB_APP_BASE_URL = 'https://office.example.com/hosting/discovery'

URL内のホスト名が正しく解決され、ドキュメントを開く必要のあるクライアントから有効な証明書が提示されることを確認してください。また、CollaboraのWOPI許可リストでSeafileサーバーホストを受け入れるように設定してください。Collaboraの公式Dockerドキュメントには、aliasgroup許可するWOPIホストを宣言するための環境変数について記載されています。Seafileで使用されているホストとスキームに完全に一致させ、本番サーバーで広範囲なワイルドカードアクセスは避けてください。

4. 再起動して接続をテストする

Seahubが新しいPython設定を読み込むように、Seafileを再起動してください。パッケージ、Composeスタック、またはKubernetes環境に応じて、再起動手順を実行してください。サービス名とコマンドは、デプロイメントによって異なります。新しいComposeファイルを追加した場合は、ブラウザワークフローをテストする前に、Collaboraコンテナが実行されていることを確認してください。

SeafileのWebインターフェースから、サポートされているOfficeドキュメントを開いてください。ファイルはCollaboraのエディタで開き、その内容が表示され、小さなテスト変更がSeafileに保存されます。ドキュメントが正常に開くことは、検出ページを確認するだけよりも有用です。なぜなら、ブラウザ、Seafile、Collabora、およびWOPIファイル転送の動作を確認できるからです。

各接続を確認してトラブルシューティングを行う

  • Seahub が検出エラーを報告しました:OFFICE_WEB_APP_BASE_URL Seafile サービスからConfirmにアクセスできることを確認してください。両方のコンテナが同じネットワークを共有している場合にのみ、内部 Docker サービス名を使用してください。
  • エディタは読み込まれますが、ファイルを取得できません。CollaboraのログとSeafileのログを確認してください。CollaboraがSeafileのWOPIホストを許可していること、およびSeafileのHTTPS証明書が信頼されていることを確認してください。
  • 同じホスト上では動作しますが、リモートでは動作しません。内部 URL を公開 HTTPS 検出 URL に置き換え、DNS と TLS を確認し、プロキシが Collabora のリクエストをポート 9980 に転送することを確認してください。
  • 開くことができるフォーマットは限られています。レビューOFFICE_WEB_APP_FILE_EXTENSIONとOFFICE_WEB_APP_EDIT_FILE_EXTENSION。これらのリストは、ユーザーが必要とするフォーマットと、Collaboraの導入環境でサポートされているフォーマットに限定してください。
  • 再起動後も設定が変更されていないように見える場合:アクティブなseahub_settings.pySeafileサービスを編集し、正しいサービスを再起動したことを確認してください。

スタンドアロンの Collabora ノードの場合、Seafile はバンドルされているファイルを使用する代わりに、Collabora のデプロイメント ドキュメントを参照するように管理者に指示しますcollabora.yml。バンドルされているファイルは、上記で説明したのと同じ Docker ホスト/ネットワーク構成を想定しています。

公式資料

コメントを残す

SeafileとCollaboraを正しいWOPI URLに接続します。

SeafileとCollaboraを正しいWOPI URLに接続します。

Seafileで安全なドキュメント編集を有効にするには、デプロイメント用にCollaboraの検出URL、HTTPS、およびWOPIアクセスを設定してください。

Collaboraとデスクトップアプリ間のコピー&ペースト機能を復元する

Collaboraとデスクトップアプリ間のコピー&ペースト機能を復元する

システムクリップボードをテストし、ブラウザの権限を調整し、埋め込み型Collabora統合においてiframeポリシーの変更が必要なタイミングを特定します。

Collabora CODE Dockerでカスタムフォントを利用できるようにする

Collabora CODE Dockerでカスタムフォントを利用できるようにする

フォントファイルをDockerとCollaboraのシステムプレートにマウントすることで、カスタムフォントがエディタに表示され、ドキュメント内で正しくレンダリングされるようになります。

Collabora CODEの設定を、デプロイメントの変更を失うことなく復元する

Collabora CODEの設定を、デプロイメントの変更を失うことなく復元する

coolwsd.xmlとそのデプロイメントソースをバックアップし、安全に復元してから、ユーザーが編集を再開する前にCODEを検証してください。

CODEのWOPIホストチェックを修正し、ホストオリジンを一致させる

CODEのWOPIホストチェックを修正し、ホストオリジンを一致させる

CODE内でNextcloudまたはその他のWOPIオリジンを正確に許可し、アクティブなホスト許可リストを確認して、Nextcloudの送信元IP制限と区別します。

Collaboraの「これは恥ずかしい」エラーを解決する

Collaboraの「これは恥ずかしい」エラーを解決する

Collaboraのブラウザ、WOPI、およびWebSocket接続をトレースして、ドキュメントが開かない理由を特定し、Nextcloudの設定に合った修正を適用してください。

CollaboraをKubernetesノード間でオンラインで実行する

CollaboraをKubernetesノード間でオンラインで実行する

Helmを使用してCollabora CODEレプリカをデプロイし、WOPIアフィニティによって各ドキュメントを1つのポッドに保持し、イングレス、ノード配置、およびNextcloud編集を検証します。

CollaboraのWebSocket接続をプロキシ経由で復元する

CollaboraのWebSocket接続をプロキシ経由で復元する

ブラウザからcoolwsdまでのソケットハンドシェイクの失敗を追跡し、CODE 26.04 Apacheの変更を含め、リバースプロキシのルートをCollaboraのバージョンに一致させます。

キー、ディスカバリ、URLを確認してWOPI認証エラーを修正する

キー、ディスカバリ、URLを確認してWOPI認証エラーを修正する

Collabora WOPI 認証の失敗を、鍵の不一致、古い検出データ、クロックのずれ、プロキシ URL の変更などが原因で発生する場合でも、検証の信頼性を損なうことなく追跡できます。

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

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

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