TrueNAS SCALE 提供了安装部署Nextcloud的完整教程,并给出了数据集权限问题的解决方案。其官方教程链接如下:
Nextcloud Deployment
https://apps.truenas.com/resources/deploy-nextcloud/
本文根据官方教程,对 Nextcloud 安装部署过程进行精简和补充。
0 测试环境
- Nextcloud 应用程序版本 31.0.7
- TrueNAS 应用目录版本 2.0.10
- 具有良好的国际网络环境
1 准备工作
1.1 选择供应用程序使用的池
注意:首次安装应用程序时,才需要设置。

1.2 找到应用程序 run as 用户
注意:记录下所有的 run as 用户ID,如:0、568、1001、999。

1.3 为应用程序创建数据集
Nextcloud 需要三个数据集,分别是用于应用程序数据的 html 、用于用户数据的 data 和用于数据库数据的 postgres_data 。
如果要将 html、data、postgres_data 三个数据集嵌套在名为 nextcloud 的父数据集下,则需要在创建 nextcloud 数据集时,将 数据集预设 设置为 通用 或 应用 。

创建 nextcloud 父数据集后,依次创建 html 、data 、 postgres_data 三个数据集。特别注意:三个数据集均需要将 数据集预设 设置为 应用。


2 安装Nextcloud应用程序
2.1 应用程序名称
一般情况下,应用名称 直接使用默认名称即可。如果是添加第2个应用程序部署,则必须更改 应用名称。
一般情况下,版本 直接使用默认即可。

2.2 Nextcloud 配置
Nextcloud 配置包括: Postgres 镜像选择、管理员用户名称设置、管理员用户密码设置、APT包设置、OCR语言代码设置、Imaginary 启用设置、主机设置、数据目录路径设置、Redis 密码设置、Database 密码设置、PHP 上传限制、最大执行时间、PHP 内存限制 、OP 缓存内存消耗、Cron 作业启用设置、添加其他环境变量等16项基础设置。
一般情况下,采用默认值即可,但管理员用户、管理员密码、主机、Redis 密码、Database 密码必须要配置。
2.2.1 Postgres 镜像选择
一般情况下,默认即可。可根据自身需要,选择 postgres数据库版本。

2.2.2 管理员用户和密码设置
根据需要,自行设置。

2.2.3 APT Packages 设置
Nextcloud 有4个 Package 选项,分别是:ffmpeg、smbclient、ocrmypdf 、libreoffice 。
根据需要,自行添加。可默认不设置。

2.2.4 OCR语言代码
如果启用了 ocrmypdf Package,则必须配置 Tesseract 语言代码。
常见代码有:eng 表示英语,chi_sim 表示 简体中文,chi_tra 表示繁体中文。
完整代码请点击链接查询:
2.2.5 Imaginary 设置
建议启用,可以提升生成预览图的性能。

2.2.6 主机设置
一般输入TrueNAS 主机的IP地址即可(注意:可以填写Nextcloud Web 端口号)。

2.2.7 数据目录路径
Nextcloud 存储用户所有文件的数据目录,这是容器内默认路径,建议不要修改。

2.2.8 Redis 和 Database 密码设置
根据需要,自行设置密码,但建议不要包含 @ # & % 等特殊字符。

2.2.9 NGINX 和 PHP 相关设置
PHP 上传限制(以 GB 为单位) ,一般默认即可。用于设置 nginx 中 client_max_body 大小,以及设置 PHP 中 post_max_size 、upload_max_filesize 大小。
最大执行时间(以秒为单位),一般默认即可。用于设置 Nextcloud 的最长执行时间,可以根据需要调整。
PHP 内存限制 (以MB 为单位) ,一般默认即可。可设置范围为 128 到 4096。
OP 缓存内存消耗(以 MB 为单位),一般默认即可。可设置范围为 128 到 1024。

2.2.10 Cron 作业设置
建议启用。

2.2.11 其他环境变量
根据需要,自行添加。完整环境变量,请参见GitHub官网。
Nextcloud docker
https://github.com/nextcloud/docker
3 网络配置
一般情况下,保持默认即可。如有网络冲突,按需调整。

4 存储配置
虽然 TrueNAS 提供了2种数据存储类型:ixVolume 和 Host Path,但为保障数据安全可控,强烈建议使用 Host Path 存储类型保存重要数据。
4.1 配置 App Data 存储
- 类型 设置为 Host Path (Path that already exist on the system)
- 启用 ACL 选择启用
- Host Path 浏览选择 html 数据集
- ACL 条目 依次添加 run as 用户ID为 0、568、1001的权限为 FULL_CONTROL Access
- ACL 选项 选择启用 Force Flag


4.2 配置User Data存储
- 类型 设置为 Host Path (Path that already exist on the system)
- 启用 ACL 选择启用
- Host Path 浏览选择 data 数据集
- ACL 条目 依次添加 run as 用户ID为 0、568、1001的权限为 F ULL_CONTROL Access
- ACL 选项 选择启用 Force Flag


4.3 配置Postgres Data 存储
- 类型 设置为 Host Path (Path that already exist on the system)
- 启用 ACL 选择不启用
- Host Path 浏览选择 postgres_data 数据集
- Automatic Permissions 选择启用自动设置数据集权限 (注意:如果选择了 启用 ACL, 则不会显示这个字段)

4.4 其他存储
根据需要,自行添加。

5 标签配置
根据需要,自行添加。

6 资源配置
根据需要,自行调整。

最后
单击 安装 即可。
单击 Application Info 小部件上的 Web UI 以打开 Nextcloud Web 门户登录屏幕。
成功运行后数据集权限示例
html 数据集权限

data 数据集权限

postgres_data 数据集权限

注意:如果按照以上步骤仍有权限问题,可以参考官方文档,全手动设置数据集权限。

344

被折叠的 条评论
为什么被折叠?



