NextCloud改造,支持視頻縮略圖和、掛載Samba、上傳加速


https://zhuanlan.zhihu.com/p/353252517

文件上傳設置無“塊大小”限制,方法來源

docker exec --user www-data containerID php occ config:app:set files max_chunk_size --value 0

重建nextcloud索引,針對通過非nextcloud途徑放入nextcloud目錄的文件

docker exec -u www-data nextcloud php occ files:scan --all

生成縮略圖

使用時會發現,Nextcloud 上傳的視頻不能生成縮略圖。其實 Nextcloud 本身支持生成視頻縮略圖,需要安裝 ffm­peg 並修改配置:

docker exec -it nextcloud bash
apt update
apt install ffmpeg

停止 NextCloud 容器,再修改 /var/​www/​html/​con­fig/​con­fig.php 配置文件,添加:

'enable_previews' => true,
'enabledPreviewProviders' =>
array (
  0 => 'OC\\Preview\\Image',
  1 => 'OC\\Preview\\Movie',
  2 => 'OC\\Preview\\TXT',
),

再次啟動容器即可生效。

支持掛載Samba

Nextcloud 不僅是一個私有網盤,它還支持管理其他外部存儲。可以把 Samba 共享,FTP,Web­DAV 等掛載到目錄下統一訪問管理。

Nextcloud 默認是沒有開啟外部存儲功能的,需在手動啟用插件。

然后在設置里可以看到:

Docker部署的 Nextcloud 默認是無法掛載 Samba 的,這里會顯示: 需要在容器內安裝smbclient:
docker exec -it nextcloud bash
apt install smbclient libsmbclient-dev
pecl install smbclient
docker-php-ext-enable smbclient

重啟 Docker 服務即可。

自制Docker鏡像

以上兩處調整,在升級 Nextcloud 鏡像后又需要重新執行一次。我們可以用原鏡像為基礎定制一個 Nextcloud 鏡像。

新建文件 Dock­er­file ,內容如下:

FROM nextcloud:latest
LABEL maintainer="engr-z"

RUN apt update && apt upgrade -y
RUN apt install ffmpeg smbclient libsmbclient-dev -y
RUN pecl install smbclient
RUN docker-php-ext-enable smbclient

然后在該目錄下執行:

docker build -t my_nextcloud:latest ./

執行完后會生成新的鏡像:

我們只需要用該鏡像運行即可。

Nextcloud 升級

  1. 執行 docker pull nextcloud:latest 下載最新鏡像,再構建自己的鏡像。

  2. 停止正在運行的 Nextcloud 並刪除:docker stop nextcloud

  3. 重新運行鏡像,參數和原來一樣。

通過 Web 進入 Nextcloud 就會出現:

不推薦在該界面上點擊更新。因為在更新內容多的情況,尤其是第三方應用更新,時間較長,瀏覽器可能會超時,推薦使用 occ 更新。

occ 命令是 Nextcloud 的命令行界面,Nextcloud 管理員可以通過 occ 執行許多常見的服務器操作。命令格式:
sudo -u www-data php occ <your_command>
在 Docker 中運行的 Nextcloud 執行 occ 會出現權限問題:

正確執行:

docker exec --user www-data nextcloud php occ upgrade
寫這篇文章時,Nextcloud 21 剛剛發布,性能提升巨大。我自己也一直用 Nextcloud 管理家庭的照片和視頻,非常 Nice。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM