robertdebock.nextcloud

Rola Ansible nextcloud

Zainstaluj i skonfiguruj Nextcloud na swoim systemie.

GitHub GitLab Pobrania Wersja
github gitlab downloads Version

Przykładowy Playbook

Ten przykład pochodzi z molecule/default/converge.yml i jest testowany przy każdym pushu, pull requeście i wydaniu.

---
- name: Zbieżność
  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

Maszynę należy przygotować. W CI odbywa się to przy użyciu molecule/default/prepare.yml:

---
- name: Przygotuj
  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: Kontynuuj przygotowanie z faktami
  hosts: all
  become: true
  gather_facts: false

  pre_tasks:
    - name: Dołącz 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"

Zobacz także pełne wyjaśnienie i przykład dotyczące korzystania z tych ról.

Zmienne Ról

Domyślne wartości dla zmiennych są ustawione w defaults/main.yml:

---
# plik domyślny dla nextcloud

# Wersja nextcloud do zainstalowania.
nextcloud_version: "25.0.4"

# Domenę, pod którą serwer będzie dostępny. Na przykład:
# "localhost" lub "nextcloud.example.com". Nie obejmuje identyfikatora protokołu,
# (https://) ani katalogów. (/nextcloud)
nextcloud_domain_url: "{{ ansible_default_ipv4.address | default(ansible_all_ipv4_addresses[0]) }}"

# Szczegóły połączenia z bazą danych.
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

# Możesz zainstalować aplikacje w NextCloud.
# nextcloud_apps:
#   - name: richdocumentscode

# Możesz ustawić parametry dla nextcloud
# nextcloud_settings:
#   - name: max_chunk_size
#     section: files
#     value: 0

# Możesz zainstalować nextcloud w wybranej lokalizacji. Specyficzne dla dystrybucji
# katalogi są ustawione w `vars/main.yml`, które są przeszukiwane tutaj. Możesz
# zastąpić lokalizację inną lokalizacją, którą preferujesz. Na przykład:
#
# nextcloud_destination: /opt
#
nextcloud_destination: "{{ _nextcloud_destination[ansible_distribution] | default(_nextcloud_destination['default']) }}"

Wymagania

Stan używanych ról

Poniższe role są używane do przygotowania systemu. Możesz przygotować swój system w inny sposób.

Wymaganie 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

Kontekst

Ta rola jest częścią wielu kompatybilnych ról. Zobacz dokumentację tych ról w celu uzyskania dalszych informacji.

Oto przegląd powiązanych ról: dependencies

Kompatybilność

Ta rola była testowana na tych obrazach kontenerów:

kontener tagi
EL 9
Ubuntu jammy

Minimalna wymagana wersja Ansible to 2.12, testy były przeprowadzane na:

  • Poprzedniej wersji.
  • Bieżącej wersji.
  • Wersji rozwojowej.

Jeśli znajdziesz problemy, zarejestruj je w GitHub.

Licencja

Apache-2.0.

Informacje o autorze

robertdebock

Rozważ wsparcie mnie.

O projekcie

Install and configure Nextcloud on your system.

Zainstaluj
ansible-galaxy install robertdebock.nextcloud
Licencja
apache-2.0
Pobrania
88.8k
Właściciel
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.