onlyoffice再次回歸啟用

我在去年讓nextcloud改用collabora online,原因為onlyoffice官方編譯的社群版本限制只能20人使用,只好用collabora online 無限人版;最近同事又開始抱怨與M$ office相容性不好,這樣會影響我想要讓大家習慣上雲端進行檔案編輯的目標。於是我挖呀挖呀挖,找了找,想要找一款好用的線上編輯office軟體。

首選台灣晟鑫科技https://www.ossii.com.tw/,一般社群版就很好用了,與微軟相容性極高。

但公司需要更多的功能,只好捨棄oxoo office社群版,我又花了些時間回頭看onlyoffice,冀望有人重新編譯無限人版,沒多久還真的找到,藏在一個很低調的github頁面上,直接是容器版本,實在太棒了。

這裡是自己手動編譯的教學文章

我建議的安裝方式與之前一樣,只要改後面的images來源就可以了,請參考這裡

ghcr.io/thomisus/onlyoffice-documentserver-unlimited:7.4.1

點選這裡「隱藏的網址」,要低調阿

不過我在重新回歸onlyoffice時候,發現無法透過在nextcloud的 「onlyoffice 設定畫面」進行設定,甚至無法清除設定,只能使用指令,我只好將相關指令一併紀錄下來。

# 列出onlyoffice設定
docker exec -u www-data nextcloud php occ config:list onlyoffice
# 清除nextcloud設定
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice DocumentServerUrl
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice StorageUrl
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice advanced
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationChat
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationCompactHeader
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationFeedback
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice DocumentServerInternalUrl
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationForcesave
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationHelp
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationReviewDisplay
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationTheme
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customizationToolbarNoTabs
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice customization_macros
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice defFormats
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice demo
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice editFormats
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice enabled
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice groups
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice installed_version
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice jwt_header
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice jwt_secret
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice sameTab
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice settings_error
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice types
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice verify_peer_off
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice versionHistory
docker exec -u www-data nextcloud php occ config:app:delete onlyoffice preview
#設定onlyoffice網址,忽略證書,密碼
docker exec -u www-data nextcloud php occ config:app:set onlyoffice DocumentServerUrl --value=https://xxx
docker exec -u www-data nextcloud php occ config:app:set onlyoffice verify_peer_off --value=true
docker exec -u www-data nextcloud php occ config:app:set onlyoffice jwt_secret --value=密碼

2023/9/25 後記,原來是「Collaborative tags」害我不能正常使用onlyoffice設定功能。

nextcloud 上查詢支援onlyoffice的版本

https://apps.nextcloud.com/apps/onlyoffice/releases?platform=14

避免與不相容的版本起衝突

目前2022/5/13 我升級到nextcloud 22.2.7 , 但因為docker上面的onlyoffice 最新的是7.1.0,
onlyoffice 只有支援7.2以上才支援 nextcloud 23 , 所以我就無法升級到nextcloud 23囉

nextcloud連接onlyoffice體驗

我自己的nextcloud原本連結 Collabora Online 達到可線上編輯office檔案的功能, 但是最近發現only office更相容M$ office, 於是想試用only office線上編輯的功能, 這次也是使用docker 安裝,不使用only office內建的let’s encrypt功能, 使用docker本體主機上的let’s encrypt 與 onlyoffice 進行mapping.

*** 2022/11/28 以下作法安裝7.2居然失敗(docker 必須升級到20.10.21), 但我這版還沒升級, 只好退回7.1

docker volume create onlyoffice_fonts
docker run --restart always -v onlyoffice_fonts:/usr/share/fonts -v /etc/letsencrypt:/etc/letsencrypt  --name onlyoffice -d  -p 8443:443 onlyoffice/documentserver

 

*** 2023/09/19 安裝7.2以上,需要設定密碼,並且在nextcloud的「secret key」欄位輸入該密碼

docker volume create onlyoffice_fonts
docker run --restart always -v onlyoffice_fonts:/usr/share/fonts -v /etc/letsencrypt:/etc/letsencrypt  --name onlyoffice -d  -p 8443:443  -e JWT_SECRET=<密碼> onlyoffice/documentserver

這樣就安裝完畢了, 接下來就是進入only office, 進行憑證的對應
** onlyoffice_fonts 的路徑可以存放其他字型(TTF), 再進入only office執行 /usr/bin/documentserver-generate-allfonts.sh即可使用新的字型, 或是執行fc-cache -f /usr/share/fonts/xxxx目錄 ,fc-list 可得知那些字型生效。


#進入onlyoffice 
docker exec -it onlyoffice bash

###### 執行已下指令
mkdir /var/www/onlyoffice/Data/certs
cd /var/www/onlyoffice/Data/certs/
openssl dhparam -out dhparam.pem 2048
ln -s /etc/letsencrypt/live/onlyoffice.test.com/fullchain.pem /var/www/onlyoffice/Data/certs/onlyoffice.crt
ln -s /etc/letsencrypt/live/onlyoffice.test.com/privkey.pem /var/www/onlyoffice/Data/certs/onlyoffice.key
######

#離開container並且重開
exit
docker restart onlyoffice

上面紅色部分就是這個only office的網址, 請自行更改, 最後再到nextcloud啟用onlyoffice連結功能, 再輸入docker 的onlyoffice的網址, 如: https://onlyoffice.test.com , 就可以享用高度相容M$ office的線上編輯功能了

PS. 若docker onlyoffice的憑證是自己簽發的, 經過測試無法使用, 官網建議的做法一樣失敗, 請三思 https://api.onlyoffice.com/editors/nextcloud
測試的nextcloud 20.0.4 , 插件onlyoffice是6.1.0.83