thorian93.nextcloud

Rol de Ansible: Nextcloud

Nextcloud

Esta rol instala Nextcloud en servidores Debian/Ubuntu, RHEL/CentOS y Fedora.

Rol de Ansible: Nextcloud Rol de Ansible: Nextcloud Rol de Ansible: Nextcloud

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

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.

Acerca del proyecto

Nextcloud - Open Source Files and Collaboration

Instalar
ansible-galaxy install thorian93.nextcloud
Licencia
mit
Descargas
1.8k
Propietario
Greetings earthlings! I am a young Linux, IT and tech enthusiast and currently I am working as a checkmk consultant for Checkmk.