nextcloud

Ansible Роль: Nextcloud

Nextcloud

Эта роль устанавливает Nextcloud на серверах Debian/Ubuntu, RHEL/CentOS и Fedora.

Ansible Role: Nextcloud Ansible Role: Nextcloud Ansible Role: Nextcloud

Известные проблемы

  • Установка на Debian в целом возможна, но автоматическая настройка Nextcloud в настоящее время невозможна. Вам нужно сделать это вручную, а затем снова запустить роль для выполнения задач постустановки. Роль не сработает с первого раза, это ожидаемо.

Требования

Специальные требования не нужны; обратите внимание, что для этой роли требуется доступ root, так что запускайте её в плейбуке с глобальным become: yes, или вызывайте роль в вашем плейбуке так:

- hosts: foobar
  roles:
    - role: thorian93.nextcloud
      become: yes

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

Доступные переменные указаны ниже с их значениями по умолчанию (см. defaults/main.yml):

nextcloud_version: "20.0.5"

Определите версию Nextcloud, которую хотите установить.

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"

Настройте самоподписанные сертификаты по своему усмотрению.

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

Если вы хотите использовать свой собственный сертификат, вы можете определить это здесь.

nextcloud_certificate_key: "{{ certbot_cert_path }}/privkey.pem"
nextcloud_certificate: "{{ certbot_cert_path }}/cert.pem"
nextcloud_certificate_chain: "{{ certbot_cert_path }}/fullchain.pem"

Если nextcloud_create_self_signed_cert и nextcloud_custom_cert установлены в false, будет использован thorian93.certbot для получения сертификатов.

nextcloud_db_system: "mysql"
nextcloud_db_host: "127.0.0.1"
nextcloud_db_name: "nextcloud"

Настройте базу данных для Nextcloud. В данный момент доступна только MySQL/MariaDB.

nextcloud_enable_opt_prerequisites: true

Это установит некоторые необязательные программные пакеты, полезные для Nextcloud.

nextcloud_turn_enable: 'false'
nextcloud_turn_ip: "{{ ansible_default_ipv4.address }}"
nextcloud_turn_port: 3478
nextcloud_turn_realm: "{{ nextcloud_external_url }}"
# Установите это в вашем инвентаре. По умолчанию эта роль будет генерировать новый секрет при каждом запуске, пока эта переменная не будет установлена.
# nextcloud_turn_secret:

Включите и настройте сервер TURN для Nextcloud Talk на вашем сервере. Для получения дополнительной информации смотрите документацию Nextcloud. Следите за переменной nextcloud_turn_secret!

nextcloud_backup: false
nextcloud_backup_path: "/tmp"

Настройте резервные копии для Nextcloud.

nextcloud_web_dir: "/var/www/nextcloud"
nextcloud_data_dir: "/var/www/nextcloud/data"

Определите директории для Nextcloud.
Рекомендуется разместить директорию данных вне веб-корня.
Веб-корень можно настроить, но в данный момент он может находиться только в /var/www. Размещение приложения вне /var/www сейчас не сработает! Однако это не влияет на директорию данных.

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 ="

Определите параметры PHP для Nextcloud. Значения по умолчанию, указанные здесь, необходимы для правильного функционирования Nextcloud.

nextcloud_enabled_apps:
  - files

Список приложений, которые должны быть включены.

Зависимости

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

Эта роль гарантирует, что она не будет использоваться против неподдерживаемых или не протестированных операционных систем, проверяя, соответствует ли имя дистрибутива и номер основной версии специальным переменным с именем <role-name>_stable_os. Вы можете найти переменную в файле переменных по умолчанию в роли по адресу defaults/main.yml:

role_stable_os:
  - Debian 10
  - Ubuntu 18
  - CentOS 7
  - Fedora 30

Если комбинация дистрибутива и номер основной версии не совпадают с целевой системой, роль не сработает. Чтобы роль заработала, добавьте имя дистрибутива и номер основной версии в эту переменную, и всё будет работать. Но сначала протестируйте новую комбинацию!

Спасибо HarryHarcourt за эту идею!

Пример Плейбука

---
- name: "Запуск роли."
  hosts: all
  become: yes
  roles:
    - ansible-role-nextcloud

Участие

Пожалуйста, не стесняйтесь открыватьIssues, если вы найдёте какие-либо ошибки, проблемы или если увидите возможность для улучшения. Также не стесняйтесь обращаться ко мне в любое время, если хотите что-то спросить или обсудить.

Отказ от ответственности

Эта роль предоставляется "КАК ЕСТЬ", и я не могу гарантировать, что роль будет работать как задумано, также я не несу ответственности за любой ущерб или неправильную конфигурацию, вызванную этой ролью. Изучите роль тщательно перед её использованием.

Лицензия

MIT

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

Эта роль была создана в 2020 году Thorian93.

О проекте

Nextcloud - Open Source Files and Collaboration

Установить
ansible-galaxy install thorian93/ansible-role-nextcloud
Лицензия
mit
Загрузки
1807
Владелец
Greetings earthlings! I am a young Linux, IT and tech enthusiast and currently I am working as a checkmk consultant for Checkmk.