robertdebock.nextcloud

Rol de Ansible Nextcloud

Instala y configura Nextcloud en tu sistema.

GitHub GitLab Descargas Versión
github gitlab downloads Versión

Ejemplo de Playbook

Este ejemplo se toma de molecule/default/converge.yml y se prueba en cada push, pull request y lanzamiento.

---
- name: Convergir
  hosts: all
  become: true
  gather_facts: true

  roles:
    - role: robertdebock.nextcloud
      nextcloud_apps:
        - name: richdocumentscode
      nextcloud_settings:
        - name: max_chunk_size
          section: files
          value: 0

La máquina necesita ser preparada. En CI, esto se hace con molecule/default/prepare.yml:

---
- name: Preparar
  hosts: all
  become: true
  gather_facts: false

  roles:
    - role: robertdebock.bootstrap
    - role: robertdebock.core_dependencies
    - role: robertdebock.cron
    - role: robertdebock.buildtools
    - role: robertdebock.epel
    - role: robertdebock.python_pip
    - role: robertdebock.openssl
      openssl_items:
        - name: apache-httpd
          common_name: "{{ ansible_fqdn }}"
    - role: robertdebock.selinux
    - role: robertdebock.httpd
    - role: robertdebock.redis

- name: Continuar preparando con hechos
  hosts: all
  become: true
  gather_facts: false

  pre_tasks:
    - name: Incluir remi
      ansible.builtin.include_role:
        name: robertdebock.remi
      when:
        - ansible_distribution != "Fedora"
      vars:
        remi_enabled_repositories:
          - php74

  roles:
    - role: robertdebock.php
      php_memory_limit: 512M
      php_upload_max_filesize: 8G
      php_post_max_size: 8G
    - role: robertdebock.php_fpm
    - role: robertdebock.mysql
      mysql_databases:
        - name: nextcloud
          encoding: utf8
          collation: utf8_bin
      mysql_users:
        - name: nextcloud
          password: N3x4Cl0ud
          priv: "nextcloud.*:ALL"

También consulta una explicación completa y ejemplo sobre cómo utilizar estos roles.

Variables del Rol

Los valores predeterminados para las variables se establecen en defaults/main.yml:

---
# archivo de valores predeterminados para nextcloud

# La versión de nextcloud a instalar.
nextcloud_version: "25.0.4"

# El dominio bajo el cual estará disponible este servidor. Por ejemplo:
# "localhost" o "nextcloud.ejemplo.com". No incluye el identificador del protocolo,
# (https://) o directorios. (/nextcloud)
nextcloud_domain_url: "{{ ansible_default_ipv4.address | default(ansible_all_ipv4_addresses[0]) }}"

# Detalles de conexión a la base de datos.
nextcloud_database_name: nextcloud
nextcloud_database_user: nextcloud
nextcloud_database_pass: N3x4Cl0ud
nextcloud_database_host: "127.0.0.1"
nextcloud_admin_user: admin
nextcloud_admin_pass: N3x4Cl0ud

# Puedes instalar aplicaciones en NextCloud.
# nextcloud_apps:
#   - name: richdocumentscode

# Puedes establecer parámetros para nextcloud
# nextcloud_settings:
#   - name: max_chunk_size
#     section: files
#     value: 0

# Puedes instalar nextcloud en una ubicación de tu elección. Los destinos específicos
# de la distribución se establecen en `vars/main.yml`, que se consultan aquí. Siéntete
# libre de sobrescribir el destino a algún lugar que prefieras. Por ejemplo:
#
# nextcloud_destination: /opt
#
nextcloud_destination: "{{ _nextcloud_destination[ansible_distribution] | default(_nextcloud_destination['default']) }}"

Requisitos

Estado de los roles usados

Los siguientes roles se utilizan para preparar un sistema. Puedes preparar tu sistema de otra manera.

Requisito GitHub GitLab
robertdebock.bootstrap Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.buildtools Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.core_dependencies Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.cron Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.epel Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.httpd Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.mysql Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.openssl Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.php Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.php_fpm Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.python_pip Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.redis Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.remi Estado de Construcción GitHub Estado de Construcción GitLab
robertdebock.selinux Estado de Construcción GitHub Estado de Construcción GitLab

Contexto

Este rol es parte de muchos roles compatibles. Consulta la documentación de estos roles para más información.

Aquí hay un resumen de los roles relacionados: dependencies

Compatibilidad

Este rol ha sido probado en estas imágenes de contenedores:

contenedor etiquetas
EL 9
Ubuntu jammy

La versión mínima de Ansible requerida es 2.12, se han realizado pruebas en:

  • La versión anterior.
  • La versión actual.
  • La versión de desarrollo.

Si encuentras problemas, regístralos en GitHub.

Licencia

Apache-2.0.

Información del Autor

robertdebock

Por favor considera patrocinarme.

Acerca del proyecto

Install and configure Nextcloud on your system.

Instalar
ansible-galaxy install robertdebock.nextcloud
Licencia
apache-2.0
Descargas
88.8k
Propietario
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.