swcc.ansible_nextcloud
Nextcloud Rol de Ansible
Instala Nextcloud desde los servidores de nextcloud.com. Este rol asume que ejecutarás Nextcloud con PHP-FPM
y lo instala como una dependencia del rol de ansible (con el rol NBZ4live.php-fpm
.
Ejemplo de Playbook
Ejemplo básico de un playbook:
- hosts: webservers
roles:
- role: swcc.nextcloud
nextcloud_destination: /home/nextcloud
nextcloud_version: 19.0.3
Parámetros del Rol
Variable | Predeterminado | Tipo | Descripción |
---|---|---|---|
nextcloud_version |
20.0.2 |
string |
Qué versión de Nextcloud instalar |
nextcloud_destination |
/var/www |
string |
Dónde instalar Nextcloud (se instalará en el directorio "{{ nextcloud_destination}}/nextcloud/" en tu sistema de archivos) |
nextcloud_dir_user |
www-data |
string |
Qué usuario de unix debe ser propietario del directorio instalado |
nextcloud_dir_group |
www-data |
string |
Qué grupo de unix debe ser propietario del directorio instalado |
nextcloud_php_memory_limit |
512M |
string |
Configuración de memory_limit de PHP. La recomendación predeterminada de Nextcloud es 512M. |
nextcloud_config |
{} |
dict |
Un objeto de diccionario de clave-valor para establecer en el archivo config/config.php de Nextcloud. Ten cuidado con el contenido, ya que deben ser valores válidos de PHP. Por ejemplo, una cadena debe definirse en tu diccionario ansible como "'mystring'" para que el valor sea el literal 'mystring' en el archivo config.php. |
nextcloud_onlyoffice_force_flush_period |
indefinido | string |
Hack tomado de https://help.nextcloud.com/t/onlyoffice-data-loss/20586/5 para volcar los cambios de onlyoffice en el disco a intervalos regulares. Por ejemplo, el valor puede ser 300s para volcar datos cada 5 minutos. |
Variables relacionadas con el respaldo, opcionales:
Variable | Predeterminado | Tipo | Descripción |
---|---|---|---|
nextcloud_backup |
- | object |
Define este objeto si deseas respaldar tanto la base de datos como el directorio de datos de tu instancia de Nextcloud. |
nextcloud_backup.destination_server |
- | string |
Servidor de respaldo de destino que recibirá todos los archivos (a través de rsync ) |
nextcloud_backup.retention |
7 |
number |
Número de días que se deben mantener las copias de seguridad de la base de datos en la instancia |
nextcloud_backup.directory |
nextcloud_destination + '/nextcloud/data' |
string |
Ruta del directorio de datos de Nextcloud a respaldar |
nextcloud_backup.pg |
- | object |
Detalles de conexión a la base de datos. Consulta a continuación los detalles de las claves del objeto. |
nextcloud_backup.pg.pg_dump_binary |
- | string |
Ruta del binario pg_dump en el servidor |
nextcloud_backup.pg.host |
localhost |
string |
Host de la base de datos postgresql |
nextcloud_backup.pg.port |
5432 |
string |
Puerto de la base de datos postgresql |
nextcloud_backup.pg.dbname |
nextcloud |
string |
Nombre de la base de datos postgresql |
nextcloud_backup.pg.username |
nextcloud |
string |
Usuario de la base de datos postgresql |
nextcloud_backup.pg.password |
- | string |
Contraseña de la base de datos postgresql |
⚠️ Por favor, también verifica las variables de php-fpm del rol de php-fpm antes de ejecutar este rol actual. ⚠️
Lo más importante es verificar la versión de php que deseas ejecutar configurando la variable php_fpm_version
. Aquí hay un ejemplo de configuración del rol dependiente php-fpm
que debería satisfacer la mayoría de las necesidades:
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"
Makefile para un uso más fácil de Ansible
He escrito un pequeño Makefile para facilitar tus futuras ejecuciones de ansible. No dudes en revisarlo.
Descarga el paquete *.deb
de las publicaciones de github, instálalo y comienza a usarlo con ansible-make help
.
Licencia
GPLv3
ansible-galaxy install swcc.ansible_nextcloud