如何將 Collabora Online 連接到 Seafile:設定選項和步驟
使用 Docker 或獨立主機將 Seafile 連接到 Collabora Online。比較部署方案的優缺點,配置 HTTPS 和 WOPI 設置,並驗證編輯功能。
即使 CODE pod 正在運行,Collabora Online 頁面仍可能保持空白或報告辦公室伺服器不可用。健康的 pod 只是設定的一部分:瀏覽器和您的 WOPI 應用程式必須透過公共主機名稱連接到 Collabora,TLS 和代理設定必須一致,並且 Collabora 必須信任 WOPI 主機。官方的 Collabora Helm chart 會將伺服器部署到 Kubernetes 中;它不會為您安裝或設定 Nextcloud、ownCloud 或其他 WOPI 主機。
本指南使用 Collabora 維護的 Helm Chart 以及 NGINX Ingress 範例。請將範例網域替換為您自己的網域。 CODE 是 Collabora Online 開發版,適用於評估、家庭使用和小團隊;Collabora 表示不建議將其用於需要穩定支援版本的生產環境。對於生產工作負載,請評估受支援的 Collabora Online 產品及其授權和支援條款。
kubectl以及可以存取該集群的 Helm 3。office.example.com,以及儲存在 Collabora 命名空間中的 Kubernetes Secret 形式的 TLS 憑證。cloud.example.com.)必須能夠存取該 WOPI 應用,並且該應用程式和使用者的瀏覽器也必須能夠存取 Collabora。對於快速的家庭或測試部署,單一 CODE Pod 可以簡化路由。多個副本可以提升容量,但 Collabora 的 Kubernetes 指南強調了基於 WOPISrc 的負載平衡要求,以確保對相同文件的編輯會話連接到同一個 Pod。在確認入口控制器能夠提供所需的親和力之前,請勿擴充副本。
Collabora 透過 CollaboraOnline 計畫發布其圖表。發布頁面目前列出的圖表版本為 1.3.5(2026 年 10 月 6 日檢查)。請檢查您環境中可用的版本,並鎖定圖表版本,以防止後續的儲存庫更新在後台悄悄更改您部署的圖表:
helm repo add collabora https://collaboraonline.github.io/online/
helm repo update
helm search repo collabora/collabora-online --versions
官方圖表庫可用於在編寫覆蓋程式碼之前檢查當前的預設值:
helm show values collabora/collabora-online --version 1.3.5
如果您按照本指南操作後,發現儲存庫中列出了更新的相容圖表,請在取代該版本之前查看其發行說明和相關值。圖表版本和 CODE 應用程式鏡像版本是相關的發行輸入,但它們並非相同設定。
為圖表的可選 Collabora 管理員憑證建立命名空間和 Kubernetes Secret。將佔位符密碼替換為強金鑰,或透過組織的金鑰管理員或 GitOps 金鑰工作流程建立 Secret。請勿在 . 中提交真實密碼values.yaml。
kubectl create namespace collabora
kubectl -n collabora create secret generic collabora-admin \
--from-literal=username=admin \
--from-literal=password='REPLACE_WITH_A_LONG_RANDOM_PASSWORD'
此圖表支援引用現有 Secret。啟用此功能可避免將管理員密碼直接放入 Helm values 檔案中。請將 Secret 限制為僅供管理此部署的命名空間和使用者或服務帳戶使用。
建立一個名為 . 的檔案collabora-values.yaml。此範例假設使用了 ingress-nginx、名為 的 TLS Secretoffice-example-com-tls以及位於 的 Nextcloud https://cloud.example.com。別名群組必須指定 Collabora 可以聯繫的 WOPI 應用程式主機;它不能是 Collabora 的公共主機名稱。
replicaCount: 1
autoscaling:
enabled: false
ingress:
enabled: true
className: nginx
annotations:
nginx.ingress.kubernetes.io/proxy-body-size: "0"
nginx.ingress.kubernetes.io/proxy-read-timeout: "600"
nginx.ingress.kubernetes.io/proxy-send-timeout: "600"
hosts:
- host: office.example.com
paths:
- path: /
pathType: ImplementationSpecific
tls:
- secretName: office-example-com-tls
hosts:
- office.example.com
collabora:
aliasgroups:
- host: "https://cloud.example.com:443"
extra_params: "--o:ssl.enable=false --o:ssl.termination=true"
existingSecret:
enabled: true
secretName: collabora-admin
圖表文件中的範例aliasgroups允許 WOPI 主機和這些 SSL 參數在反向代理終止 TLS 連線時使用。在這種配置下,外部流量使用office.example.comHTTPS,而入口流量則透過 HTTP 轉送到叢集內部的 Collabora。如果您的入口使用 TLS 直通或其他內部協議,請勿直接複製這些 SSL 標誌;請根據實際的 TLS 路徑和圖表的當前值進行調整。
確認 TLS 密鑰存在於collabora命名空間中。如果您使用不同的入口控制器,請將類別和註解替換為該控制器文件中提供的等效項。保持 WebSocket 流量啟用並允許長時間連線;不同控制器的預設設定可能有所不同。
首先渲染清單檔案以擷取 YAML 錯誤,並檢查產生的 Ingress、Service 和工作負載設定。然後安裝已鎖定的圖表版本:
helm template collabora-online collabora/collabora-online \
--namespace collabora \
--version 1.3.5 \
--values collabora-values.yaml
helm upgrade --install collabora-online collabora/collabora-online \
--namespace collabora \
--version 1.3.5 \
--values collabora-values.yaml
觀察資源的啟動:
kubectl get pods,services,ingress -n collabora
kubectl get events -n collabora --sort-by=.lastTimestamp
在連接 WOPI 應用程式之前,請等待 Pod 狀態變為 Ready。如果 Pod 仍處於 Pending 狀態,請檢查叢集是否有足夠的可調度 CPU 和內存,以及是否存在任何節點選擇器、污點或資源配額阻止部署。圖表中將資源請求和限制留給操作員選擇;Collabora 的 README 文件中提供了適用於生產環境的更大資源值範例,但實際資源配置取決於並發編輯和文件工作負載。
開啟 WOPI 應用的 Office 或 Collabora 設置,並輸入外部服務 URL https://office.example.com。在 Nextcloud 中,管理手冊介紹如何在 Office 管理設定中設定 Collabora Online 伺服器的 URL。如果您的設定限制了哪些主機可以連接,請同時檢查 Nextcloud WOPI 請求允許清單。該位址必須能夠被最終使用者的瀏覽器和發出 WOPI 請求的應用程式伺服器存取。
如果連線失敗並顯示「未授權的 WOPI 主機」或類似訊息,請將實際的 WOPI 主機 URL 與預期進行比較collabora.aliasgroups。檢查協定、主機名稱和端口,並主動添加任何合法的備用主機名稱。除非您了解其影響,否則請避免使用過於廣泛的主機模式。如果您使用多個 WOPI 應用程序,請為每個主機遵循圖表中記錄的別名組結構,而不是允許所有網域名稱。
對於小型試驗,停用自動擴縮容的單一副本可以避免路由複雜性。對於多個副本,Collabora chart README 檔案中會根據WOPISrc查詢參數顯示 NGINX 親和性。使用 ingress-nginx 時,請將文件中說明的註解新增至入口配置:
nginx.ingress.kubernetes.io/upstream-hash-by: "$arg_WOPISrc"
這會將相同文件的請求定向到同一個後端 Pod,這對於協作編輯和剪貼簿請求至關重要。請查閱文件以確認您的 ingress-controller 版本是否支援;ingress-nginx 支援的註解並不一定適用於 HAProxy、Traefik 或 Gateway API 實作。啟用更多副本或自動擴縮容後,請測試對相同文件的並發編輯,並觀察 Collabora 日誌和入口存取日誌。資源大小、會話行為和高可用性需要根據特定的工作負載進行驗證。
kubectl get pods,svc,ingress -n collabora。curl -fsS https://office.example.com/hosting/discovery | head -c 300kubectl logs -n collabora deploy/collabora-online --tail=100
如果圖表建立了名稱不同的工作負載,請使用kubectl get deployments -n collabora並取代實際名稱。成功的發現回應確認了公共端點正在提供 Collabora 元資料;但這並不能證明 WOPI 身份驗證或文件保存功能正常。端對端文件測試是最終的驗證步驟。
aliasgroups;不要取代 office-server 主機名稱。kubectl describe pod容器日誌,然後為可用叢集設定合理的資源請求和限制。圖表安裝完畢,發現端點可訪問,並且已透過 WOPI 應用程式成功開啟並保存了實際文檔,則核心 CODE 部署已正常工作。請保持圖表版本固定,並在圖表升級、入口變更或擴充變更後重複這些檢查。
使用 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 整合中封鎖列印和下載,並驗證哪些控制適用於每種共用方法。