使用正確的 WOPI URL 將 Seafile 和 Collabora 連接起來
透過為您的部署配置 Collabora 的發現 URL、HTTPS 和 WOPI 存取權限,在 Seafile 中啟用安全性文件編輯。
若要在 Docker 中執行的 Collabora Online CODE 中渲染自訂字體,請將字體檔案儲存在主機上,並將同一目錄掛載到容器的系統字體目錄和文件系統板中。系統板為獨立的文件程序提供文件;僅將字體掛載到系統板/usr/share/fonts可能會導致字體系列出現在字體選單中,但不會在其文件中渲染。本指南使用 Docker Compose 和目前的 CODE 映像路徑/opt/cool/systemplate;如果您使用其他映像,請驗證路徑。

對於單一 Docker 主機而言,只讀綁定掛載通常是最簡單的選擇。它能在 CODE 容器重建或升級時保留字型文件,您可以精確地查看容器可以讀取哪些文件。請使用您有權安裝並分發到伺服器的字型檔案。除非您已檢查過許可證並且確實需要這些文件,否則請勿複製整個桌面系統的字體目錄。
請使用環境支援的未壓縮字型檔案格式,通常為 TrueType.ttf或 OpenType .otf。包含文件所需的樣式,例如常規、粗體、斜體和粗斜體。保持字體族名稱和檔案名稱清晰明了,並確保容器使用者可以讀取每個目錄和檔案。如果字體僅包含一種樣式,則當文件要求粗體或斜體時,Collabora 可能會替換為其他字體。
首先建立一個專用的主機目錄,並將授權檔案複製到該目錄中:
sudo mkdir -p /srv/collabora/fonts
sudo cp BrandSans-Regular.ttf BrandSans-Bold.ttf /srv/collabora/fonts/
sudo chmod -R a+rX /srv/collabora/fonts
請將範例檔案名稱替換為您實際的字型檔案。讀取權限至關重要,因為在目前鏡像中,CODE 程序以非特權帳戶運行。請保持目錄路徑穩定;Compose 綁定掛載將引用該路徑。
在您現有的collabora服務配置中docker-compose.yml新增這些磁碟區條目。請保留您現有的鏡像、連接埠、網域允許清單、SSL 設定、金鑰和重新啟動策略;以下程式碼片段僅顯示了字型掛載。

services:
collabora:
volumes:
- /srv/collabora/fonts:/usr/share/fonts/truetype/more:ro
- /srv/collabora/fonts:/opt/cool/systemplate/usr/share/fonts/truetype/more:ro
第一個目標使容器能夠透過常規字體發現機制取得字體。第二個目標將字體放置在用於準備隔離文件環境的範本中。 Collabora 的 SDK 手冊中記錄了這種 Docker 的雙位置磁碟區模式。請勿掛載整個目錄/usr/share/fonts或 systemplate 目錄:這可能會隱藏鏡像已提供的字型。
系統模板路徑與版本相關。目前 CODE 26.04 鏡像元資料將/opt/cool/systemplate其標識為系統範本路徑,Collabora 的目前文件也使用該位置。如果您執行的是舊版映像或特定廠商的建置版本,請在編輯目標路徑之前檢查該映像的文件或啟動配置。
儲存 Compose 檔案並將字體檔案放置在主機上後,重新建立 CODE 服務,以便 Docker 應用綁定掛載:

docker compose up -d --force-recreate collabora
docker compose exec -T collabora fc-list
在輸出結果中尋找字型系列名稱或已掛載的檔案路徑。若要縮小清單範圍,請使用管道將結果grep與字體本身報告的系列名稱一起傳遞,例如:
docker compose exec -T collabora fc-list | grep -i "Brand Sans"
如果命令報告未找到匹配項,請檢查主機路徑、檔案權限、掛載縮排和容器日誌。您可以使用命令檢查docker inspect正在執行的容器中的有效掛載點,或使用命令docker compose config來擷取 YAML 縮排錯誤。docker compose down通常無需執行命令即可應用磁碟區變更;重新建立服務就足夠了。

透過 Nextcloud 或 WOPI 整合開啟測試文檔,選擇一小段文字樣本,然後從字體選擇器中選擇自訂字體系列。使用該字體輸入一行新文本,儲存、關閉並重新開啟檔案。檢查常規文本和粗體文本,並將換行符或頁面佈局與來源文件進行比較。選單中顯示的字體系列僅用於初步檢查;重新開啟後可見的文字才是有效的渲染檢查。
fc-list輸出和容器啟動日誌。綁定掛載可使字體獨立於 CODE 鏡像,但並不能保證在每個用戶端或每個文件中佈局完全相同。字型替換、缺失字形、不同字型版本以及文件特定的格式仍會影響換行。如需更多設定詳情,請參閱 Collabora 的字型安裝文件、CODE Docker 映像指南以及Collabora Online SDK 手冊。當您變更 CODE 版本時,應重新檢查手冊中的 Docker 範例和目前映像檔。
透過為您的部署配置 Collabora 的發現 URL、HTTPS 和 WOPI 存取權限,在 Seafile 中啟用安全性文件編輯。
測試系統剪貼簿,調整瀏覽器權限,並確定嵌入式 Collabora 整合何時需要更改 iframe 策略。
將字體檔案掛載到 Docker 和 Collabora 的系統範本中,以便自訂字體出現在編輯器中並在文件中正確渲染。
備份 coolwsd.xml 及其部署來源,安全地恢復它們,並在使用者返回編輯之前驗證程式碼。
在程式碼中允許確切的 Nextcloud 或其他 WOPI 來源,然後驗證活動主機允許列表,並將其與 Nextcloud 的來源 IP 限制區分開來。
追蹤 Collabora 的瀏覽器、WOPI 和 WebSocket 連接,找出文件無法開啟的原因,然後套用與您的 Nextcloud 設定相符的修復程式。
使用 Helm 部署 Collabora CODE 副本,透過 WOPI 親和性將每個文件保持在一個 pod 中,並驗證入口、節點放置和 Nextcloud 編輯。
從瀏覽器到 coolwsd 追蹤失敗的套接字握手,然後將反向代理路由與您的 Collabora 版本進行匹配,包括 CODE 26.04 Apache 變更。
追蹤 Collabora WOPI 證明失敗的原因,例如金鑰不匹配、發現資料過時、時脈漂移或代理 URL 變更——而不會削弱驗證。
重置瀏覽器縮放,測試乾淨的會話,並確定何時格式錯誤的選單大小需要 Collabora 伺服器更新。