【村雨组NAS】威联通Docker安装Nextcloud和优化

威联通安装Nextcloud有三种:

1、docker安装

2、威联通app store自带Nextcloud

3、通过web方式安装

我推荐大家用docker方式安装,要求高的,可以稍微麻烦一点点用搭建网站的方式去安装。

步骤:

打开ContainerStation,如图

【村雨组NAS】威联通Docker安装Nextcloud和优化插图

写了YAML就可以创建了,YAML文件在下面,自己copy修改即可

【村雨组NAS】威联通Docker安装Nextcloud和优化插图1

以下是UP自己写的YAML文件全文件,各位参照着改吧,理论上没问题,懂的可以增加或删除,不懂的修改红字即可

由于nextcloud一直更新,从18版本一直用过来,建议使用24版本,还算比较稳定,且兼容很多插件。

version: '3'

services:

nextcloud:

image: nextcloud:24.0-apache

container_name: nextcloud_web

depends_on:

– redis

– nextcloud-db

environment:

– UID=1000

– GID=1000

– UPLOAD_MAX_SIZE=10G

– APC_SHM_SIZE=512M

– OPCACHE_MEM_SIZE=512

– CRON_PERIOD=15m

– TZ=Aisa/Shanghai

– DOMAIN=域名或本地IP都行

– DB_TYPE=mysql

– DB_NAME=数据库名字

– DB_USER=数据库的用户名

– DB_PASSWORD=数据库的密码

– DB_HOST=nextcloud-db

volumes:

– /share/Container/nextcloud:/var/www/html

expose:

– 7009

ports:

– 7009:80

restart: always

networks:

– nextcloud_network

redis:

image: redis:alpine

container_name: redis

restart: always

expose:

– 6479

ports:

– 6479:6379

restart: always

networks:

– nextcloud_network

nextcloud-db:

image: mariadb

restart: always

expose:

– 3316

ports:

– 3316:3306

volumes:

– /share/Container/nextcloud/mariadb:/var/lib/mysql

- /share/Container/nextcloud/mariadbconfig:/etc/mysql

environment:

– MYSQL_DATABASE=数据库名

– MYSQL_ROOT_PASSWORD=数据库root密码

– MYSQL_USER=数据库用户名

– MYSQL_PASSWORD=数据库密码

networks:

– nextcloud_network

networks:

nextcloud_network:

然后ip:端口号访问,我这里是7009的端口号

【村雨组NAS】威联通Docker安装Nextcloud和优化插图2
【村雨组NAS】威联通Docker安装Nextcloud和优化插图3

优化

1、关掉不必要的app插件,例如我只启用这几项

【村雨组NAS】威联通Docker安装Nextcloud和优化插图4

2、mysql性能优化

较为麻烦,需要重启数据库,提升不明显

3、启用缓存

感觉提升不大,默认用了APCu,即便替换redis,提升也一般

成功之后

如果是英文,在右上角的设置中,如下图设置即可

【村雨组NAS】威联通Docker安装Nextcloud和优化插图5

无法新建用户的问题:

是因为你设置的密码太简单了,如何更改密码策略,还是右上角设置

【村雨组NAS】威联通Docker安装Nextcloud和优化插图6

Nextcloud 外部存储设置

Nextcloud非常厉害的一个点是支持外部存储,有什么用呢?

当你存储空间不够了,可以通过类似于挂载的方式扩充存储空间。或者可以作为数据转移的便捷途径。实现计算与存储分离。

实现方式也有两类:

第一种:

用Nextcloud自身提供的外部存储方式,通常是网络连接。如图:

【村雨组NAS】威联通Docker安装Nextcloud和优化插图7

对于家庭用户而言,更多是采用FTP、WebDAV的方式,通过网络拓展存储空间,或者进行数据迁移。

其中Nextcloud允许把其他服务器的Nextcloud挂载进来进行数据传输

S3、OpenStack对于普通家用可能不是很熟悉,不说了

第二种:本地

这种方式就完全类似于挂载。例如你可以把OSS、云盘等挂载到本机服务器上,然后所有数据都直接写入,这种方式的好处就是,哪怕你的本机只有32G存储空间,也能存100T的内容。

下面分别简单谈谈步骤

首先,要安装插件 external storage

其次,要添加外部存储。在“管理设置”下方的“存储设置”中。

我这里挂载本机NAS上的一个webdav文件夹试试看。上面输入ip+端口号,然后是文件夹的名字。下面输入账号是webdav,密码是NAS设置好的访问密码。

当前面绿色对勾,表示成功,否则表示失败或者黄色警告也是不正确的。

【村雨组NAS】威联通Docker安装Nextcloud和优化插图8

此时你可以在主页看到aa这个文件夹,但是你是不能上传文件的,需要在配置中加一段话,在Nextcloud安装目录下的config文件夹下的config.php中,最后的位置加入

还是那句话,威联通一定要下载text editor,方便直接修改配置文件

【村雨组NAS】威联通Docker安装Nextcloud和优化插图9

之后大功告成。

补充:Nextcloud开启smb

就是进入docker容器内部安装好smbclient即可,没有的可以从docker外部cp进去,方法多样,不详细说了

Nextcloud 外部存储设置 进阶方案

上面的方式,只适合各单个用户或者用户组扩容存储空间。这种方法的弊病是:共享

例如我挂载一个100T的空间,要么就我一个人能用,要么一群人同时用,毫无隐私可言。如果给一家子人同时扩容,还能保证隐私,互不干扰,只能通过这种方式实现。

但这种方式,无法通过docker方式实现,因为挂载空间无法映射进docker容器内部(不绝对),因此推荐用类似搭建网站的方式来实现:即php7.2、mysql、nginx或aphache这种方式

因为Nextcloud的默认存储路径全部都在data目录下,只要把data目录替换为自己的挂载路径即可。

挂载方式多种多样,这里不提了。假设你用某种方式挂在到了www目录下,假设为cloudmount的文件内

你只需要更改配置文件的一个地方即可:依然是config.php下,修改datadirectory后的路径为/var/www/cloudmount即可

【村雨组NAS】威联通Docker安装Nextcloud和优化插图10

这样,你所有用户的默认存储都是在你挂载的这块存储空间内。

在我之前提过“存储与计算”分离的思想,Nextcloud也是完全通过这种方式实现

Nextcloud视频无法预览

文件上传取消“块大小”限制

重建nextcloud索引,针对通过非nextcloud途径放入nextcloud目录的文件,因为上传太累了,直接移动速度快,但是没入库,这个命令可以快速在数据库做索引

它支持生成视频缩略图,需要安装 ffm­peg 并修改配置:

修改 /var/www/html/con­fig/con­fig.php 配置文件

补充

上传速度优化:https://blog.csdn.net/qq_28718329/article/details/112687699

优化mysql性能:https://www.jianshu.com/p/55fd5ddafb1a

https://qastack.cn/dba/29963/dynamic-change-to-innodb-flush-log-at-trx-commit

Nextcloud安装python3

依然是进入/bin/bash 中,执行命令

Nextcloud打包镜像

Nextcloud在一切必要的安装完成之后,可以打包成自制的镜像

暂时省略,后续补上

Nextcloud开启HTTPS

因为talk等视频通话、聊天等功能,必须用https才行

反向代理、申请证书就不提了,这里只说Nextcloud需要改的地方,依然是config.php文件

添加如下:

原文链接:https://www.bilibili.com/read/cv9742751/

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享