如何將 Collabora Online 連接到 Seafile:設定選項和步驟
使用 Docker 或獨立主機將 Seafile 連接到 Collabora Online。比較部署方案的優缺點,配置 HTTPS 和 WOPI 設置,並驗證編輯功能。
Seafile 可以透過 WOPI 協定在 Collabora Online 中開啟支援的 Office 檔案。 WOPI 是一種允許儲存伺服器和線上編輯器交換文件資訊和文件內容的協定。正確的部署方式取決於 Seafile 的運作位置、HTTPS 和反向代理的管理方式,以及是否希望 Collabora 與 Seafile 位於同一 Docker 網路或單獨的伺服器上。
本指南遵循 Seafile 管理員手冊中關於 Collabora 整合的說明(Seafile 14.0 文檔,2026 年 10 月 6 日查閱)。特定的 Docker Compose 檔案和映像標籤可能會有所更改,因此請使用您已安裝的 Seafile 版本對應的文件,而不是直接複製舊教學課程中的完整 Compose 配置。
| 選項 | 最佳匹配 | 主要權衡 |
|---|---|---|
| Collabora 容器與 Seafile 並排。 | 使用 Seafile 提供的 Compose 檔案進行單節點 Docker 安裝 | 最快路徑和內部服務名稱網絡,但這兩個服務共享一個主機的 CPU、記憶體和維護視窗。 |
| Collabora 運行在單獨的主機上 | 現有 Collabora 服務、單獨的容量規劃或多主機部署 | 支援獨立擴展和升級,但需要公共 HTTPS 端點、反向代理以及 Collabora 和 Seafile 之間可靠的網路存取。 |
對於新的單節點 Docker 部署,請使用 Seafile 提供的設定collabora.yml。對於現有的獨立 Collabora 伺服器或集群,請遵循 Collabora 的安裝指南,並將 Seafile 的發現 URL 設定為 Collabora 的外部位址。 Seafile 整合指南要求 Seafile 使用 HTTPS,並指出獨立的 Collabora 節點應使用標準連接埠 443 上的 HTTPS,並透過反向代理連接到 Collabora 的連接埠 9980。請參閱Seafile Collabora 線上整合指南和Collabora 安裝文件。
office.example.com如果使用者將透過瀏覽器獨立存取 Collabora,請選擇一個 Collabora 主機名,例如 `collabora.com` 。在設定 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並添加collabora.yml到現有COMPOSE_FILE清單中。保留所有現有條目;例如,如果安裝目錄中已列出了 Seafile 伺服器、Caddy 和 SeaDoc 文件,則應將 Collabora 文件追加到現有清單之後,而不是替換現有清單:
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 範本支援的設定將其停用。
編輯seahub_settings.py並添加 Collabora 整合設定。對於位於同一 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 目前範例中的 30 MiB 值;較大的文件可能需要適當更改限制,並考慮相應的記憶體和效能影響。
驗證 Compose 配置,然後從專案目錄啟動堆疊:
docker compose config
docker compose up -d
Seafile 指南建議在更改配置後重新啟動 Seafile seahub_settings.py。對於 Docker 部署,docker compose up -d更新後的 Compose 配置會立即生效;如果設定變更未生效,請使用適用於您版本的相應方法重新啟動 Seafile 服務。docker compose down除非您打算停止整個服務棧,否則請避免執行大範圍的重新啟動操作。
按照 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報告線上辦公室服務不可用。 | 檢查OFFICE_SERVER_TYPE、ENABLE_OFFICE_WEB_APP發現 URL,以及設定變更後 Seahub 是否已重新啟動。 |
| 伺服器端發現功能正常,但瀏覽器顯示的是空白編輯器。 | 請檢查瀏覽器是否可以透過 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 版本相符的文檔,確保面向瀏覽器的端點安全,並在允許使用者使用線上編輯功能之前驗證文檔的開啟和儲存功能。
使用 Docker 或獨立主機將 Seafile 連接到 Collabora Online。比較部署方案的優缺點,配置 HTTPS 和 WOPI 設置,並驗證編輯功能。
診斷 LibreOffice Writer 檔案中影像較多時出現的打字、滾動和保存速度緩慢的問題。測試顯示設置,壓縮過大的圖片,並找出設定檔或硬體問題。
使用官方 Helm chart 在 Kubernetes 上部署 Collabora CODE。設定入口、TLS、WOPI 主機存取、金鑰、擴充和端對端檢查。
透過壓縮過大的照片、選擇合理的解析度和 JPEG 質量,並檢查已儲存的文件,在不犧牲幻燈片可讀性的前提下,縮小 LibreOffice Impress 簡報的大小。
在 Docker 中安裝 Collabora Online CODE,透過反向代理程式安全地發布,將其連接到 Nextcloud Office,並驗證基於瀏覽器的文件編輯。
診斷 VPS 上的 ONLYOFFICE Docs 記憶體錯誤,檢查主機和 Docker 限制,查看日誌和遺忘的文檔,安全地添加交換空間,並在不影響正在進行的編輯的情況下重新啟動。
透過測試鍵盤快速鍵、瀏覽器剪貼簿權限、HTTPS、iframe 策略和內容格式,檢視 Collabora Online 與本機應用程式之間的複製和貼上問題。
透過以安全順序檢查顯示縮放、應用程式介面縮放、字體可用性和渲染範圍,修復 Linux 上 ONLYOFFICE 桌面編輯器中的模糊文字。
學習如何新增 Writer 表單控制項、設定標籤和製表符順序、啟用「建立 PDF 表單」功能匯出,以及在共用之前測試互動式 PDF。
了解如何在 ONLYOFFICE Workspace、DocSpace 或 Docs 整合中封鎖列印和下載,並驗證哪些控制適用於每種共用方法。