swcc.ansible_nextcloud
Nextcloud Ansible 角色
从 nextcloud.com 服务器 下载源安装 Nextcloud。该角色假设您将使用 PHP-FPM
来运行 Nextcloud,因此会为您安装它,作为 Ansible 角色的依赖项(使用 NBZ4live.php-fpm
角色)。
示例剧本
基本示例剧本:
- hosts: webservers
roles:
- role: swcc.nextcloud
nextcloud_destination: /home/nextcloud
nextcloud_version: 19.0.3
角色参数
变量 | 默认值 | 类型 | 描述 |
---|---|---|---|
nextcloud_version |
20.0.2 |
string |
要安装的 Nextcloud 版本 |
nextcloud_destination |
/var/www |
string |
Nextcloud 的安装位置(将在您的文件系统中的 "{{ nextcloud_destination}}/nextcloud/" 目录下安装) |
nextcloud_dir_user |
www-data |
string |
安装目录应由哪个 Unix 用户拥有 |
nextcloud_dir_group |
www-data |
string |
安装目录应由哪个 Unix 组拥有 |
nextcloud_php_memory_limit |
512M |
string |
PHP 内存限制设置。Nextcloud 推荐的默认值为 512M。 |
nextcloud_config |
{} |
dict |
要在 Nextcloud 的 config/config.php 文件中设置的键值对象。请注意内容,它们需要是有效的 PHP 值。例如,一个字符串应在你的 Ansible 字典中定义为 "'mystring'" ,这样值在 config.php 文件中将是字面上的 'mystring' 。 |
nextcloud_onlyoffice_force_flush_period |
未定义 | string |
从 https://help.nextcloud.com/t/onlyoffice-data-loss/20586/5 中获取的黑客修复,用于定期将 onlyoffice 更改刷新到磁盘。例如,值可以是 300s ,以每 5 分钟刷新一次数据。 |
_可选的_,备份相关变量:
变量 | 默认值 | 类型 | 描述 |
---|---|---|---|
nextcloud_backup |
- | object |
如果您想备份 Nextcloud 实例的数据库和数据目录,请定义此对象。 |
nextcloud_backup.destination_server |
- | string |
目标备份服务器,将接收所有文件(通过 rsync ) |
nextcloud_backup.retention |
7 |
number |
保留在实例上的数据库备份的天数 |
nextcloud_backup.directory |
nextcloud_destination + '/nextcloud/data' |
string |
要备份的 Nextcloud 数据目录的路径 |
nextcloud_backup.pg |
- | object |
连接数据库的详细信息。有关对象键的详情,请见下文。 |
nextcloud_backup.pg.pg_dump_binary |
- | string |
服务器上 pg_dump 二进制文件的路径 |
nextcloud_backup.pg.host |
localhost |
string |
Postgresql 数据库的主机 |
nextcloud_backup.pg.port |
5432 |
string |
Postgresql 数据库的端口 |
nextcloud_backup.pg.dbname |
nextcloud |
string |
Postgresql 数据库的名称 |
nextcloud_backup.pg.username |
nextcloud |
string |
Postgresql 数据库的用户 |
nextcloud_backup.pg.password |
- | string |
Postgresql 数据库的密码 |
⚠️ 请在运行当前角色之前,检查依赖的 php-fpm ansible 角色 的 php-fpm 变量。⚠️
最重要的是通过设置 php_fpm_version
变量检查您希望运行的 php 版本。以下是适合大多数需求的 php-fpm
依赖角色的示例配置:
php_fpm_version: 7.4
php_fpm_pool_defaults:
pm: dynamic
pm.max_children: 10
pm.start_servers: 2
pm.min_spare_servers: 1
pm.max_spare_servers: 4
php_fpm_pools:
- name: www
user: www-data
group: www-data
listen: "/run/php/php{{ php_fpm_version }}-fpm.sock"
listen.owner: www-data
listen.group: www-data
chdir: /var/www
env:
PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
TMPDIR: "/tmp"
TMP: "/tmp"
HOSTNAME: "$HOSTNAME"
简化 Ansible 使用的 Makefile
我写了一个小的 Makefile,让你将来的 Ansible 操作变得更简单。不要犹豫,去 查看它。
从 GitHub 发布页面下载 *.deb
包,安装后可以使用 ansible-make help
开始使用。
许可
GPLv3