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
【定制优化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',),
支持挂载SambaNextcloud 不仅是一个私有网盘,它还支持管理其他外部存储 。可以把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 下载最新镜像,再构建自己的镜像 。
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 。
推荐阅读
- 开源云盘利器:Nextcloud 21私有云盘搭建
- mysql查询太慢,我们如何进行性能优化?
- Centos7系统内核优化脚本
- 个性礼品定制有哪些
- 如何优化我们的电脑
- Linux性能优化之CPU
- 手机端有必要做SEO优化吗?
- 领跑网络推广破局,网站优化营销模式首当其冲
- 字节跳动 Go RPC 框架 KiteX 性能优化实践
- 柏联普洱定制美好生活,2005年特制普洱方茶黄壳