thorian93.nextcloud
Rol de Ansible: Nextcloud
Esta rol instala Nextcloud en servidores Debian/Ubuntu, RHEL/CentOS y Fedora.
Problemas conocidos
- La instalación en Debian generalmente funciona, pero la configuración automática de Nextcloud no es posible en este momento. Debes hacerlo manualmente y ejecutar la rol de nuevo después para las tareas de gestión post-instalación. La rol fallará en la primera ejecución, esto es esperado.
Requisitos
No hay requisitos especiales; ten en cuenta que esta rol requiere acceso de root, así que ejecútala en un playbook con become: yes
, o invoca la rol en tu playbook así:
- hosts: foobar
roles:
- role: thorian93.nextcloud
become: yes
Variables de la Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
nextcloud_version: "20.0.5"
Define la versión de Nextcloud que deseas instalar.
nextcloud_create_self_signed_cert: true
nextcloud_self_signed_cert_subj: "/C=DE/ST=FOO/L=BAR/O=Org/CN={{ nextcloud_external_url }}"
nextcloud_self_signed_certificate_key: "/etc/{{ apache2_http_name }}/ssl/nextcloud.key"
nextcloud_self_signed_certificate: "/etc/{{ apache2_http_name }}/ssl/nextcloud.crt"
Configura certificados autogenerados a tu gusto.
nextcloud_custom_cert: false
nextcloud_custom_cert_file: /etc/{{ apache2_http_name }}/ssl/nextcloud.crt
nextcloud_custom_cert_key: /etc/{{ apache2_http_name }}/ssl/nextcloud.key
Si deseas usar tu propio certificado, puedes definirlo aquí.
nextcloud_certificate_key: "{{ certbot_cert_path }}/privkey.pem"
nextcloud_certificate: "{{ certbot_cert_path }}/cert.pem"
nextcloud_certificate_chain: "{{ certbot_cert_path }}/fullchain.pem"
Si nextcloud_create_self_signed_cert
y nextcloud_custom_cert
están configurados como false, se usará thorian93.certbot para obtener certificados.
nextcloud_db_system: "mysql"
nextcloud_db_host: "127.0.0.1"
nextcloud_db_name: "nextcloud"
Configura la base de datos para Nextcloud. Actualmente solo está disponible MySQL/MariaDB.
nextcloud_enable_opt_prerequisites: true
Esto instala un software opcional que es útil para Nextcloud.
nextcloud_turn_enable: 'false'
nextcloud_turn_ip: "{{ ansible_default_ipv4.address }}"
nextcloud_turn_port: 3478
nextcloud_turn_realm: "{{ nextcloud_external_url }}"
# Configúralo en tu inventario. Por defecto, esta rol generará un nuevo secreto en cada ejecución hasta que esta variable se configure.
# nextcloud_turn_secret:
Habilita y configura la instalación de un servidor TURN para Nextcloud Talk en tu servidor. Para más información, consulta la documentación de Nextcloud. ¡Presta atención a la variable nextcloud_turn_secret
!
nextcloud_backup: false
nextcloud_backup_path: "/tmp"
Configura las copias de seguridad para Nextcloud.
nextcloud_web_dir: "/var/www/nextcloud"
nextcloud_data_dir: "/var/www/nextcloud/data"
Define los directorios para Nextcloud.
Se recomienda poner el directorio de datos fuera de la raíz web.
La raíz web es configurable, pero actualmente solo se admite en /var/www
. Colocar la aplicación fuera de /var/www
no funcionará por ahora. Esto, sin embargo, no afecta al directorio de datos.
nextcloud_php_options:
- line: "post_max_size = 4G"
regexp: "^post_max_size ="
- line: "upload_max_filesize = 4G"
regexp: "^upload_max_filesize ="
- line: "open_basedir ='{{ nextcloud_web_dir }}:{{ nextcloud_data_dir }}:/tmp:/dev/urandom'"
regexp: "^open_basedir ="
Define opciones de PHP para Nextcloud. Los valores predeterminados dados aquí son necesarios para que Nextcloud funcione correctamente.
nextcloud_enabled_apps:
- files
Lista las aplicaciones que deben estar habilitadas.
Dependencias
- thorian93.apache2
- thorian93.php
- thorian93.certbot - cuando no se usa un certificado personalizado o autogenerado
- thorian93.mysql
Compatibilidad con Sistemas Operativos
Esta rol asegura que no se use en sistemas operativos no soportados o no probados, verificando si el nombre de distribución correcto y el número de versión principal están presentes en una variable dedicada llamada como <nombre-de-la-rol>_stable_os
. Puedes encontrar la variable en el archivo de variables predeterminadas de la rol en defaults/main.yml
:
role_stable_os:
- Debian 10
- Ubuntu 18
- CentOS 7
- Fedora 30
Si la combinación de distribución y número de versión principal no coincide con el sistema objetivo, la rol fallará. Para permitir que la rol funcione, agrega el nombre de la distribución y el nombre de la versión mayor a esa variable y listo. ¡Pero asegúrate de probar la nueva combinación primero!
¡Agradecimientos a HarryHarcourt por esta idea!
Ejemplo de Playbook
---
- name: "Ejecutar rol."
hosts: all
become: yes
roles:
- ansible-role-nextcloud
Contribución
Por favor, no dudes en abrir problemas si encuentras errores, problemas o si ves espacio para mejoras. También siéntete libre de contactarme en cualquier momento si deseas preguntar o discutir algo.
Aviso
Esta rol se proporciona TAL CUAL y no puedo garantizar que funcione como se espera, ni puedo ser responsable de ningún daño o mala configuración causada por esta rol. Estudia la rol a fondo antes de usarla.
Licencia
MIT
Información del Autor
Esta rol fue creada en 2020 por Thorian93.
Nextcloud - Open Source Files and Collaboration
ansible-galaxy install thorian93.nextcloud