Nextcloud
Nextcloud
Nextcloud作为一个私有云盘,功能是非常丰富的。特别是配合大宽带的 frp 服务时。使用 LinuxServer 提供的 Docker 镜像。
id amass # 确认amass用户的uid、gid
docker run -d --privileged --restart unless-stopped --name nextcloud \
-e PUID=1000 -e PGID=100 \
-e TZ=Asia/Shanghai \
-p 1443:443 \
-v /mnt/user/Backup/Nextcloud:/data \
-v /mnt/user/appdata/nextcloud:/config \
linuxserver/nextcloud
在使用 Unraid Docker 应用模板时,最好也将 PUID、PGID 设置成与 unraid 上 nas 用户一致,以避免一些莫名的文件权限问题。
External storage support:这个应用插件可以让个人网盘之外的其他文件夹(例如Unraid的共享文件夹)也能被用户访问到,配合Unraid来使用,我觉得非常方便。
在挂载时,需要使用SMB挂载外部存储,否则以本地挂载时,创建文件的用户为 nobody,会导致其他用户无修改文件权限。
External sites:可以集成外部链接在导航栏上,外部内容直接显示至 Nextcloud 的 Frame 中而不是另打开一个标签页,使其更加集成化。
Nextcloud Office:使得Nextcloud支持编辑Office文档。插件下载成功后,在管理设置➡Nextcloud Office选择使用您的自由服务器。服务器地址为:https://frp-by1.wwvvww.cn:25538(目前与Jellyfin共用),点击保存,在该页面上方就看看到 Collabora Online 服务器可以访问。 的提示。
Notes:使其可以成为一个Markdown的笔记本,笔记以markdown文件形式存在于云盘。
Tasks:使其可以集成成为任务清单
Configurable Share Links:能够自定义文件分享链接。
添加信任域名 与 SSL 证书
修改/mnt/user/appdata/nextcloud/www/nextcloud/config/config.php文件,详情可参考 参数配置 一节:
'trusted_domains' =>
array (
0 => '192.168.2.3',
1 => 'frp-by1.wwvvww.cn',
),
'overwritewebroot' => '/nextcloud',
'overwrite.cli.url' => 'https://frp-by1.wwvvww.cn:25538/nextcloud',
如上所示在 array 中添加域名,可以不用写端口号。
使用 nginx 进行反向代理:
location /nextcloud {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-NginX-Proxy true;
proxy_pass https://192.168.5.3:1443/;
proxy_ssl_session_reuse off;
proxy_set_header Host $http_host;
proxy_cache_bypass $http_upgrade;
proxy_redirect off;
}
然后向frp供应商索取 SSL 证书,将其替换至 /mnt/user/appdata/nextcloud/keys。或者根据需求修改 /mnt/user/appdata/nextcloud/nginx/ssl.conf。
配置电子邮箱服务器
在管理设置➡基本设置➡电子邮件服务器可以配置电子邮箱服务器,用于邮件推送通知。
以QQ邮箱为例,按照说明:
- 发送模式:SMTP
- 加密:SSL
- 身份认证:✔需要认证
- 证书:QQ邮箱地址、SMTP授权码
配置完成后,点击发送电子邮件测试,如邮箱收到测试邮件,则配置成功。
修改个人资料
添加电子邮箱、位置和地区语系。这样就可以将一些单位变成地区常用单位,比如从℉变为℃ ,还有时区也会对应更新。
occ 命令
Nextcloud 提供了一个 occ 命令,文档是说源自于 ownCloud Console。有时候我们可以使用它(比如Web端出现BUG无法使能 app):
docker exec -it -u 1000 nextcloud bash # 以 uid为1000的用户进去 bash 命令行,因为我们创建容器的时候指定了uid不为root
/app/www/public/occ list # 列出 occ 支持的命令
/app/www/public/occ app:list # 列出 目前已安装的app
/app/www/public/occ app:enable files_external # 使能files_external
从文件安装
将文件拷贝至 /mnt/user/appdata/nextcloud/www/nextcloud/apps,解压。然后执行 occ 命令进行安装。
All-In-One Docker Image
Nextcloud 官方提供了一个基于 Docker 的 AIO 项目,但是其必须要使用 443 作为 HTTPS 端口。在 Readme 下这样写着:
Are other ports than the default 443 for Nextcloud supported?
No and they will not be. ...
这明显不适合我们的需求,没有公网IP。