nextcloud
Ansible Роль: Nextcloud
Эта роль устанавливает Nextcloud на серверах Debian/Ubuntu, RHEL/CentOS и Fedora.
Известные проблемы
- Установка на 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
Список приложений, которые должны быть включены.
Зависимости
- thorian93.apache2
- thorian93.php
- thorian93.certbot - когда не используется свойственный или самоподписанный сертификат
- thorian93.mysql
Совместимость с ОС
Эта роль гарантирует, что она не будет использоваться против неподдерживаемых или не протестированных операционных систем, проверяя, соответствует ли имя дистрибутива и номер основной версии специальным переменным с именем <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