robertdebock.nextcloud

Ansibleロール Nextcloud

システムにNextcloudをインストールして設定します。

GitHub GitLab ダウンロード バージョン
github gitlab downloads Version

例のプレイブック

この例は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.nextcloud
ライセンス
apache-2.0
ダウンロード
88.8k
所有者
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.