Nextcloud 是一款開源免費的私有云儲存網盤專案,可以讓你快速便捷地搭建一套屬於自己或團隊的雲同步網盤,從而實現跨平臺跨裝置檔案同步、共享、版本控制、團隊協作等功能。它的客戶端覆蓋了Windows、Mac、Android、iOS、Linux 等各種平臺,也提供了網頁端以及 WebDAV介面,所以你幾乎可以在各種裝置上方便地訪問你的雲盤。
Nextcloud 基於PHP語言開發,可以使用 Nginx + PHP 或 Apache + PHP 部署。我個人推薦Docker方式執行,官方的Nextcloud Docker映象有做很多最佳化,部署簡單,升級也方便。
執行NextCloudNextcloud 的資料是儲存在資料庫中的,支援 SQLite,MySQL,PostgreSQL。據說 Nextcloud 使用 PostgreSQL 有Buff加成。
下載映象:
docker pull nextcloud:latest;docker pull postgres:latest;
執行PostgreSQL:
docker run -d -p 5432:5432 --name postgresql --restart=always \ -e POSTGRES_USER=nextcloud \ -e POSTGRES_PASSWORD=cloud@2021 \ -v /data/nextcloud/postgresql:/var/lib/postgresql/data \
執行NextCloud:
docker run -d -p 8080:80 --name nextcloud --restart=always \ -v /data/nextcloud/apps:/var/www/html/custom_apps \ -v /data/nextcloud/config:/var/www/html/config \ -v /data/nextcloud/data:/var/www/html/data \ -v /data/nextcloud/theme:/var/www/html/themes/ \ nextcloud
Docker執行Nextcloud網上教程太多,以上命令簡單,不再講解。
如果成功,輸入訪問地址就可以看到配置介面,一切設定完成後就可使用 Nextcloud 了。
生成縮圖使用時會發現,Nextcloud 上傳的影片不能生成縮圖。其實 Nextcloud 本身支援生成影片縮圖,需要安裝 ffmpeg 並修改配置:
docker exec -it nextcloud bashapt updateapt install ffmpeg
修改/var/www/html/config/config.php配置檔案,新增:
'enable_previews' => true,'enabledPreviewProviders' =>array ( 0 => 'OC\\Preview\\Image', 1 => 'OC\\Preview\\Movie', 2 => 'OC\\Preview\\TXT',),
支援掛載Samba
Nextcloud 不僅是一個私有網盤,它還支援管理其他外部儲存。可以把Samba共享,FTP,WebDAV等掛載到目錄下統一訪問管理。
Nextcloud預設是沒有開啟外部儲存功能的,需在手動啟用外掛。
然後在設定裡可以看到:
Docker部署的 Nextcloud 預設是無法掛載 Samba 的,這裡會顯示:
需要在容器內安裝smbclient:
docker exec -it nextcloud bashapt install smbclient libsmbclient-devpecl install smbclientdocker-php-ext-enable smbclient
重啟Docker服務即可。
自制Docker映象以上兩處調整,在升級 Nextcloud 映象後又需要重新執行一次。我們可以用原映象為基礎定製一個 Nextcloud 映象。
建建檔案 Dockerfile ,內容如下:
FROM nextcloud:latestLABEL maintainer="engr-z"RUN apt update && apt upgrade -yRUN apt install ffmpeg smbclient libsmbclient-dev -yRUN pecl install smbclientRUN docker-php-ext-enable smbclient
然後在該目錄下執行:
docker build -t my_nextcloud:latest ./
執行完後會生成新的映象:
我們只需要用該映象執行即可。
Nextcloud 升級1.執行 docker pull nextcloud:latest 下載最新映象,再構建自己的映象。
docker stop nextcloud
3.重新執行映象,引數和原來一樣。
透過 Web 進入 Nextcloud 就會出現:
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。
本文連結:https://engr-z.com/278.html