如何使用 Docker 和 Nextcloud 安裝 Collabora Online CODE

範例:假設一個小型團隊的 Nextcloud 檔案託管在 `<hostname>` https://cloud.example.com。其管理者希望在 `<hostname>` 上建置一個獨立的 Collabora Online Development Edition (CODE) 伺服器https://office.example.com。這只是一個用於說明步驟的假設設置,並非實際安裝的報告。請將範例中的兩個主機名稱替換為您實際控制的網域名稱。

CODE 作為獨立於 Nextcloud 的服務運作。 Docker 啟動 Collabora 服務;TLS 反向代理程式發布該服務;Nextcloud Office 整合將兩者連接起來。您的瀏覽器必須能夠存取公共 Office URL,伺服器也必須能夠存取相關的 Nextcloud 和 Collabora 端點。目前的Nextcloud Office 安裝手冊將 Docker 列為一種部署選項,並指出專用伺服器通常需要反向代理。

開始之前

例如,假設一台 Linux 主機可以執行 Docker,Nextcloud 已支援 HTTPS,而兩個主機名稱的 DNS 記錄都指向正確的伺服器。取得一個有效的 TLS 憑證office.example.com。計劃透過該主機名稱公開 Collabora 服務,而不是直接將其 Docker 連接埠暴露給公共網際網路。

  • 確認 CODE 主機可以解析並連接cloud.example.com。
  • 確認瀏覽器可以https://office.example.com透過 HTTPS 存取網路。
  • 選擇反向代理程式運行在 Docker 主機上還是其他位置。運行在同一台主機上的代理程式可以使用環回發布的容器連接埠;運行在不同容器中的代理程式需要可存取的共用 Docker 網路或其他私人路由。
  • 在正式環境使用前,請查閱最新的 CODE 和 Nextcloud 文檔,以了解相容性和代理要求。 CODE 是開發版本;需要廠商提供的穩定性或支援的團隊應評估支援的 Collabora Online 版本。

以下命令使用官方collabora/code鏡像名稱和單一 Nextcloud 來源。範例中未指定發布標籤,因此管理員應制定版本控制和更新策略,而不是將其視為latest生產環境的變更控制策略。

1. 將辦公室主機名稱指向您的伺服器

office.example.com建立一條指向 Collabora 服務主機或負載平衡器的DNS A 或 AAAA 記錄。設定反向代理,使其使用對該名稱有效的憑證終止 HTTPS 請求,並將 Collabora 應用程式路徑和 WebSocket 流量轉送至 CODE 容器。 Collabora 的官方反向代理文件提供了特定於代理的範例;請參考文件中針對您實際代理軟體和目前 CODE 版本的範例。

不要盲目複製通用的代理程式碼片段。代理必須支援 WebSocket 升級,保留必要的 host 和轉送協定訊息,並轉送 Collabora 路由,例如 `<host>`、`<host>`/browser和/hosting/discovery` /cool<host>`。 Apache、NGINX、Traefik 和其他閘道的具體指令有所不同。如果代理程式運行在 Docker 主機上,轉送到 `<host>`127.0.0.1:9980是一個常見的私有目標。如果代理程式運行在單獨的容器中,則該回環位址指向代理容器本身,而不是 CODE 主機。

2. 啟動 CODE Docker 容器

在 Docker 主機上,拉取並啟動容器。在本例中,連接埠綁定到環回位址,因此不會直接暴露在每個主機網路介面上:

docker pull collabora/code

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

此aliasgroup1值授權預期使用此 CODE 服務的 Nextcloud 來源。請確保協定和主機名稱與使用者存取 Nextcloud 時使用的 URL 保持一致;如果公共 Nextcloud 服務使用非預設端口,則請包含該連接埠。如果多個 Nextcloud 實例將使用此服務,請根據目前 CODE 鏡像文件配置允許的其他主機群組,而不是隨意允許任意主機。

此指令假定反向代理程式與目標代理程式位於同一台機器上,並將請求轉送至回環埠。如果您使用的是 Docker Compose、容器化代理或遠端代理,請務必謹慎調整網路配置和連接埠暴露。切勿為了建立代理連線而公開連接埠 9980;請使用私人 Docker 網路、防火牆規則或其他受限路徑。有關 CODE Docker 映像的目前選項,請參閱Collabora 的 CODE Docker 指南。

3. 配置反向代理並檢查程式碼

代理配置完成後,使用適用於您軟體的方法重新載入代理,並在應用變更之前檢查其配置。然後,從一台可以存取該網域的機器請求公共發現端點:

curl -fsS https://office.example.com/hosting/discovery | head

成功的回應應包含 XML 發現訊息,而不是代理錯誤頁面。此檢查確認公共 URL 可以存取 Collabora 端點;但尚不能證明 Nextcloud 授權、WebSocket 或文件編輯功能已正常運作。如果端點存取失敗,也應檢查容器:

docker ps --filter name=collabora
docker logs --tail=100 collabora

在假設的場景中,如果對公用 URL 的連線被拒絕,則首先會檢查 DNS、TLS、防火牆或代理路由。 502 回應通常表示代理無法連接到容器配置的上游伺服器。如果服務發現成功,但編輯器在載入過程中發生故障,請檢查 WebSocket 轉發設置,並確認代理是否報告了升級或上游伺服器錯誤。

4. 將 Nextcloud 連接到 Collabora

在 Nextcloud 中,開啟「應用」區域,安裝或啟用適用於您版本的 Office 整合。應用標籤可能是“Nextcloud Office”或“Collabora Online”,具體取決於版本和已安裝的應用程式目錄。然後開啟 Office 的管理設定並輸入:

https://office.example.com

儲存設定並檢查連線狀態。 Nextcloud 的Office 設定文件將此欄位標識為 Collabora 伺服器的 URL 和端口,並建議使用 HTTPS。請使用瀏覽器可以存取的公共 Collabora URL。在分離式 DNS、NAT 或分段網路部署中,Nextcloud 可能還需要一條到該服務的內部路由;請查閱已安裝應用程式版本的連線進階選項,而不是假設公共 DNS 可以從伺服器正常運作。

例如,Nextcloud 會將cloud.example.com`<host>` 視為允許的 WOPI 主機,使用者的瀏覽器會從 `<host>` 開啟編輯器office.example.com。如果您的 Nextcloud 管理頁面提供了 WOPI 請求允許列表,請在確認網路中的位址正確後,將其限制為預期的 Collabora 伺服器位址。 Nextcloud 建議將 WOPI 請求限制在預期的 Collabora 主機上;如果沒有特定的網路原因,請勿新增過大的位址範圍。

5. 使用範例文件進行測試

以普通 Nextcloud 使用者身分登錄,建立一個小型文字文件或開啟一個臨時測試文件,然後選擇瀏覽器編輯器。確認編輯器工具列載入完畢,進行一次無害的修改,等待儲存提示出現,關閉文件,然後重新開啟以驗證變更是否已儲存。如果 Nextcloud 支援同時編輯,請在第二個使用者工作階段中開啟同一個測試文件,並確認內容或編輯是否如預期更新。

這些檢查區分了主要層級:發現請求測試公共路由;Nextcloud 狀態測試配置的伺服器連線;開啟編輯器測試瀏覽器存取和 WOPI 交換;重新開啟檔案測試儲存路徑。首次測試請勿使用重要文件。 CODE 是開發版本,因此測試成功並不能取代對組織可用性、資源容量、備份和支援需求的評估。

常見問題及檢查內容

Nextcloud報告伺服器無法存取

檢查 Office URL 是否有拼字錯誤、憑證鍊是否有效以及 HTTPS 協定是否相符。分別從瀏覽器和 Nextcloud 主機測試發現 URL。如果伺服器網路內部的公共 DNS 解析結果不同,請設定適當的內部路由或使用連接器支援的高階伺服器 URL 設定。

頁面可以打開,但文檔編輯器卡住了。

檢查反向代理程式的存取日誌和錯誤日誌,尋找 WebSocket 升級失敗的情況。確認代理程式轉送了目前的 Collabora 路由,並保持長時間的 WebSocket 連線處於開啟狀態。瀏覽器開發者工具可以顯示 WebSocket 要求是被拒絕、重新導向到 HTTP,還是因為憑證錯誤而被封鎖。

Collabora拒絕了Nextcloud主機

請將實際的 Nextcloud 來源位址(包括協定、主機名稱和連接埠)與配置的別名群組進行比較。公用 URL、內部主機名稱和代理程式重寫位址不符可能會導致主機授權或 WOPI 失敗。請僅將所需的 Nextcloud 主機名稱新增至允許的配置中。

代碼啟動後退出或變得不正常

檢查docker logs collabora已部署鏡像標籤的可用磁碟和記憶體、容器權限以及運行時要求。除非當前環境的官方說明明確要求,否則請勿從不相關的範例中複製特權模式等標誌。

更新和營運維護

為了確保安全性和相容性,請保持容器鏡像更新,但請安排並測試升級,而不是在工作時間拉取未經審核的新鏡像。記錄您正在使用的版本,閱讀相關的版本說明,並保留回滾路徑。在 Collabora 或 Nextcloud 發生重大變更後,請檢查代理程式配置,因為端點和 WebSocket 的要求可能會變更。此外,隨著活躍編輯者數量的增長,還要監控主機的記憶體、CPU、儲存和容器日誌。

對於假設的團隊而言,只有在發現端點回應、Nextcloud 報告連線成功、範例文件在瀏覽器中打開,且重新開啟後已儲存的編輯內容仍然存在之後,該安裝才可供有限使用。如果其中任何一項檢查失敗,請在邀請使用者依賴服務之前,先對該層進行故障排除。

官方參考資料

文件於 2026 年 10 月 6 日審核。經檢查,Nextcloud 的穩定版手冊標記為版本 35;連結的 Docker 演練版本為 28,因此請將其用作安裝範例,並根據 Collabora 指南和您實際運行的版本驗證代理語法。

留下評論

如何縮小包含大量圖片的LibreOffice簡報的檔案大小

如何縮小包含大量圖片的LibreOffice簡報的檔案大小

透過壓縮過大的照片、選擇合理的解析度和 JPEG 質量,並檢查已儲存的文件,在不犧牲幻燈片可讀性的前提下,縮小 LibreOffice Impress 簡報的大小。

如何使用 Docker 和 Nextcloud 安裝 Collabora Online CODE

如何使用 Docker 和 Nextcloud 安裝 Collabora Online CODE

在 Docker 中安裝 Collabora Online CODE,透過反向代理程式安全地發布,將其連接到 Nextcloud Office,並驗證基於瀏覽器的文件編輯。

修正 ONLYOFFICE 文件伺服器在 VPS 上記憶體不足的問題

修正 ONLYOFFICE 文件伺服器在 VPS 上記憶體不足的問題

診斷 VPS 上的 ONLYOFFICE Docs 記憶體錯誤,檢查主機和 Docker 限制,查看日誌和遺忘的文檔,安全地添加交換空間,並在不影響正在進行的編輯的情況下重新啟動。

修正 Collabora Online 在本機應用程式之間複製貼上的問題

修正 Collabora Online 在本機應用程式之間複製貼上的問題

透過測試鍵盤快速鍵、瀏覽器剪貼簿權限、HTTPS、iframe 策略和內容格式,檢視 Collabora Online 與本機應用程式之間的複製和貼上問題。

修復 Linux 系統下 ONLYOFFICE Desktop 字型模糊問題:實用指南

修復 Linux 系統下 ONLYOFFICE Desktop 字型模糊問題:實用指南

透過以安全順序檢查顯示縮放、應用程式介面縮放、字體可用性和渲染範圍,修復 Linux 上 ONLYOFFICE 桌面編輯器中的模糊文字。

如何在 LibreOffice Writer 中建立互動式可填寫 PDF 表單

如何在 LibreOffice Writer 中建立互動式可填寫 PDF 表單

學習如何新增 Writer 表單控制項、設定標籤和製表符順序、啟用「建立 PDF 表單」功能匯出,以及在共用之前測試互動式 PDF。

如何在 ONLYOFFICE 中限制列印和下載

如何在 ONLYOFFICE 中限制列印和下載

了解如何在 ONLYOFFICE Workspace、DocSpace 或 Docs 整合中封鎖列印和下載,並驗證哪些控制適用於每種共用方法。

如何修復 ONLYOFFICE 文件伺服器在 Nginx 後端的 502 Bad Gateway 錯誤

如何修復 ONLYOFFICE 文件伺服器在 Nginx 後端的 502 Bad Gateway 錯誤

排查 Nginx 後端 ONLYOFFICE 文件伺服器的 502 錯誤。檢查服務運作狀況、日誌、上游連接埠、轉送的標頭、WebSocket 和 Docker 網路。

修正 ONLYOFFICE 行動應用連線到自架伺服器的逾時問題

修正 ONLYOFFICE 行動應用連線到自架伺服器的逾時問題

透過檢查正確的入口網站或 WebDAV URL、網路存取、HTTPS、憑證和伺服器路由,排查 ONLYOFFICE Documents 逾時到自架伺服器的問題。

如何在 LibreOffice Writer 中變更預設文件模板

如何在 LibreOffice Writer 中變更預設文件模板

將自訂的 LibreOffice Writer 模板設為預設模板,更新或重設該模板,並驗證新文件是否使用您喜歡的樣式和頁面佈局。