install_nextcloud
Коллекция Ansible для администрирования Nextcloud
Этот репозиторий содержит коллекцию Ansible nextcloud.admin
(ранее роль aalaesar.install_nextcloud
).
Коллекция включает различные материалы Ansible, которые помогут автоматизировать управление Nextcloud, а также развертывание и обслуживание экземпляров Nextcloud.
Совместимость с версиями Ansible
Эта коллекция была протестирована с следующими версиями Ansible: >=2.14.0.
Плагины и модули внутри коллекции могут быть протестированы только с определенными версиями Ansible.
Поддержка Python
- Коллекция протестирована на Python 3.11+
Поддерживаемые версии Nextcloud
Эта коллекция поддерживает версии Nextcloud: 25
, 26
, 27 (последняя)
Содержимое коллекции
Модули
Название | Описание |
---|---|
nextcloud.admin.run_occ | Запуск утилиты командной строки occ с заданными аргументами |
Роли
Название | Описание |
---|---|
nextcloud.admin.backup (бета) | Создание резервной копии сервера Nextcloud - ранее aalaesar.backup_nextcloud |
nextcloud.admin.install_nextcloud | Установка и настройка экземпляра Nextcloud на сервере Debian/Ubuntu - ранее aalaesar.install_nextcloud |
Установка и использование
Зависимости
Библиотека Python netaddr
Содержимое этой коллекции требует библиотеку для манипуляции сетевыми адресами для работы с сетевыми адресами. Установить ее можно с помощью:
pip3 install netaddr
Необходимые отдельные роли
По умолчанию некоторые роли в этой коллекции зависят от отдельных ролей из других пространств имен. (Это можно отключить).
Из-за некоторых ограничений ansible-galaxy не устанавливает их автоматически, их нужно установить отдельно.
После установки коллекции выполните команду ansible-galaxy role install -r <папка_коллекции>/requirements.yml
.
Кроме того, вы также можете добавить содержимое этого файла в ваш собственный файл requirements.yml
перед установкой коллекции.
Установка коллекции из Ansible Galaxy
Перед использованием коллекции Nextcloud, необходимо установить ее с помощью Ansible Galaxy CLI:
ansible-galaxy collection install nextcloud.admin
Вы также можете включить ее в файл requirements.yml
и установить с помощью ansible-galaxy collection install -r requirements.yml
, используя следующий формат:
---
collections:
- name: nextcloud.admin
version: 2.0.0
Использование модулей из коллекции Nextcloud в ваших плейбуках
Рекомендуется использовать содержимое этой коллекции с полным квалифицированным пространством имен коллекции (FQCN), например nextcloud.admin.run_occ
:
---
- hosts: nextcloud_host
gather_facts: false
become: true
tasks:
- name: перечислить установленные приложения
nextcloud.admin.run_occ:
nextcloud_path: /var/www/nextcloud
command: app:list
Если вы обновляете старые плейбуки до <2.0.0, вы можете минимизировать изменения, определив collections
в вашем плейбуке и ссылаясь на роль этой коллекции как install_nextcloud
, вместо nextcloud.admin.install_nextcloud
, как в этом примере:
---
- hosts: localhost
gather_facts: false
connection: local
collections:
- nextcloud.admin
tasks:
- name: развернуть Nextcloud и зависимости
include_role:
name: install_nextcloud
# ранее:
# name: aalaesar.install_nextcloud
Для документации по использованию:
- отдельных модулей: используйте команду
ansible-doc
после установки этой коллекции. - включенных ролей: согласно стандартам ansible, роли ansible документируются в их собственном файле README.
Тестирование и разработка
Если вы хотите разработать новый контент для этой коллекции или улучшить то, что уже есть, самый простой способ работать с коллекцией - клонировать ее в одну из настроенных COLLECTIONS_PATHS
и работать там.
Тестирование с помощью molecule
Директория tests
содержит плейбуки для проведения интеграционных тестов на различных сценариях.
Также есть интеграционные тесты в директории molecule
.
Публикация новых версий
Релизы автоматически создаются и загружаются в Ansible Galaxy для любого нового тега.
Лицензия
BSD
Смотрите LICENCE для полного текста.
Install Nextcloud server like you want ! Apache2 or Nginx ? MariaDB or PostgresQL ? You choose, you watch, it works !
ansible-galaxy install aalaesar/install_nextcloud