Nextcloud 是一款開源免費的私有云存儲網(wǎng)盤項目,可以讓你快速便捷地搭建一套屬于自己或團隊的云同步網(wǎng)盤,從而實現(xiàn)跨平臺跨設(shè)備文件同步、共享、版本控制、團隊協(xié)作等功能。它的客戶端覆蓋了windows、mac、Android、IOS、linux 等各種平臺,也提供了網(wǎng)頁端以及 WebDAV接口,所以你幾乎可以在各種設(shè)備上方便地訪問你的云盤。
Nextcloud 基于php語言開發(fā),可以使用 Nginx + PHP 或 Apache + PHP 部署。我個人推薦Docker方式運行,官方的Nextcloud Docker鏡像有做很多優(yōu)化,部署簡單,升級也方便。
運行NextCloud
Nextcloud 的數(shù)據(jù)是保存在數(shù)據(jù)庫中的,支持 SQLite,MySQL,PostgreSQL。據(jù)說 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網(wǎng)上教程太多,以上命令簡單,不再講解。
如果成功,輸入訪問地址就可以看到配置界面,一切設(shè)置完成后就可使用 Nextcloud 了。
生成縮略圖
使用時會發(fā)現(xiàn),Nextcloud 上傳的視頻不能生成縮略圖。其實 Nextcloud 本身支持生成視頻縮略圖,需要安裝 ffmpeg 并修改配置:
docker exec -it nextcloud bash
apt update
apt 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 不僅是一個私有網(wǎng)盤,它還支持管理其他外部存儲。可以把Samba共享,F(xiàn)TP,WebDAV等掛載到目錄下統(tǒng)一訪問管理。
Nextcloud默認(rèn)是沒有開啟外部存儲功能的,需在手動啟用插件。

然后在設(shè)置里可以看到:

Docker部署的 Nextcloud 默認(rèn)是無法掛載 Samba 的,這里會顯示:

需要在容器內(nèi)安裝smbclient:
docker exec -it nextcloud bash
apt install smbclient libsmbclient-dev
pecl install smbclient
docker-php-ext-enable smbclient
重啟Docker服務(wù)即可。
自制Docker鏡像
以上兩處調(diào)整,在升級 Nextcloud 鏡像后又需要重新執(zhí)行一次。我們可以用原鏡像為基礎(chǔ)定制一個 Nextcloud 鏡像。
建建文件 Dockerfile ,內(nèi)容如下:
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
然后在該目錄下執(zhí)行:
docker build -t my_nextcloud:latest ./
執(zhí)行完后會生成新的鏡像:

我們只需要用該鏡像運行即可。
Nextcloud 升級
1.執(zhí)行 docker pull nextcloud:latest 下載最新鏡像,再構(gòu)建自己的鏡像。
2.停止正在運行的Nextcloud并刪除:
docker stop nextcloud
3.重新運行鏡像,參數(shù)和原來一樣。
通過 Web 進(jìn)入 Nextcloud 就會出現(xiàn):

不推薦在該界面上點擊更新。因為在更新內(nèi)容多的情況,尤其是第三方應(yīng)用更新,時間較長,瀏覽器可能會超時,推薦使用 occ 更新。
occ命令是Nextcloud的命令行界面,Nextcloud管理員可以通過occ執(zhí)行許多常見的服務(wù)器操作。命令格式:
sudo -u www-data php occ <your_command>
在Docker中運行的Nextcloud執(zhí)行occ會出現(xiàn)權(quán)限問題:

正確執(zhí)行:
docker exec --user www-data nextcloud php occ upgrade
寫這篇文章時,Nextcloud 21剛剛發(fā)布,性能提升巨大。我自己也一直用 Nextcloud 管理家庭的照片和視頻,非常Nice。
除非注明,否則均為"攻城獅·正"原創(chuàng)文章,轉(zhuǎn)載請注明出處。
本文鏈接:https://engr-z.com/278.html