nextcloud

Ansible роль nextcloud

Установите и настройте Nextcloud на вашей системе.

GitHub GitLab Скачивания Версия
github gitlab downloads Version

Пример Playbook

Этот пример взят из molecule/default/converge.yml и тестируется при каждом пуше, запросе на изменение и релизе.

---
- name: Converge
  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

Машина должна быть подготовлена. В CI это делается с помощью molecule/default/prepare.yml:

---
- name: Prepare
  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: Continue prepare with facts
  hosts: all
  become: true
  gather_facts: false

  pre_tasks:
    - name: Include 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"

Также смотрите полное объяснение и пример о том, как использовать эти роли.

Переменные роли

По умолчанию значения переменных устанавливаются в defaults/main.yml:

---
# файл по умолчанию для nextcloud

# Версия nextcloud для установки.
nextcloud_version: "25.0.4"

# Домен, под которым этот сервер будет доступен. Например:
# "localhost" или "nextcloud.example.com". Не включает протокол,
# (https://) или директории. (/nextcloud)
nextcloud_domain_url: "{{ ansible_default_ipv4.address | default(ansible_all_ipv4_addresses[0]) }}"

# Подробности для подключения к базе данных.
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

# Вы можете установить приложения в NextCloud.
# nextcloud_apps:
#   - name: richdocumentscode

# Вы можете установить параметры для nextcloud
# nextcloud_settings:
#   - name: max_chunk_size
#     section: files
#     value: 0

# Вы можете установить nextcloud в любое желаемое место. Специфические
# для дистрибутивов назначения указаны в `vars/main.yml`, которые ищутся здесь. Не стесняйтесь
# переопределять место назначения на то, которое вам подходит. Например:
#
# nextcloud_destination: /opt
#
nextcloud_destination: "{{ _nextcloud_destination[ansible_distribution] | default(_nextcloud_destination['default']) }}"

Требования

Состояние используемых ролей

Следующие роли используются для подготовки системы. Вы можете подготовить свою систему другим способом.

Требование GitHub GitLab
robertdebock.bootstrap Build Status GitHub Build Status GitLab
robertdebock.buildtools Build Status GitHub Build Status GitLab
robertdebock.core_dependencies Build Status GitHub Build Status GitLab
robertdebock.cron Build Status GitHub Build Status GitLab
robertdebock.epel Build Status GitHub Build Status GitLab
robertdebock.httpd Build Status GitHub Build Status GitLab
robertdebock.mysql Build Status GitHub Build Status GitLab
robertdebock.openssl Build Status GitHub Build Status GitLab
robertdebock.php Build Status GitHub Build Status GitLab
robertdebock.php_fpm Build Status GitHub Build Status GitLab
robertdebock.python_pip Build Status GitHub Build Status GitLab
robertdebock.redis Build Status GitHub Build Status GitLab
robertdebock.remi Build Status GitHub Build Status GitLab
robertdebock.selinux Build Status GitHub Build Status GitLab

Контекст

Эта роль является частью многих совместимых ролей. Посмотрите на документацию этих ролей для дальнейшей информации.

Вот обзор связанных ролей: dependencies

Совместимость

Эта роль была протестирована на этих образах контейнера:

контейнер теги
EL 9
Ubuntu jammy

Минимальная версия Ansible, необходимая для работы, – 2.12, тесты проводились на:

  • Предыдущей версии.
  • Текущей версии.
  • Разработческой версии.

Если вы обнаружите ошибки, пожалуйста, сообщите об этом в GitHub.

Лицензия

Apache-2.0.

Информация об авторе

robertdebock

Пожалуйста, подумайте о спонсировании меня.

О проекте

Install and configure Nextcloud on your system.

Установить
ansible-galaxy install robertdebock/ansible-role-nextcloud
Лицензия
apache-2.0
Загрузки
79345
Владелец
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.