robertdebock.nextcloud

Ansible-Rolle Nextcloud

Installiere und konfiguriere Nextcloud auf deinem System.

GitHub GitLab Downloads Version
github gitlab downloads Version

Beispiel Playbook

Dieses Beispiel stammt aus molecule/default/converge.yml und wird bei jedem Push, Pull-Request und Release getestet.

---
- name: Konvergenz
  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

Die Maschine muss vorbereitet werden. Im CI erfolgt dies mit molecule/default/prepare.yml:

---
- name: Vorbereiten
  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: Fortfahren mit der Vorbereitung und Fakten sammeln
  hosts: all
  become: true
  gather_facts: false

  pre_tasks:
    - name: Remi einbeziehen
      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"

Siehe auch eine vollständige Erklärung und Beispiel zur Verwendung dieser Rollen.

Rollenvon Variablen

Die Standardwerte für die Variablen sind in defaults/main.yml festgelegt:

---
# Standarddatei für Nextcloud

# Die Version von Nextcloud, die installiert werden soll.
nextcloud_version: "25.0.4"

# Die Domain, unter der dieser Server verfügbar sein wird. Zum Beispiel:
# "localhost" oder "nextcloud.example.com". Keine Protokollkennung
# (https://) oder Verzeichnisse. (/nextcloud)
nextcloud_domain_url: "{{ ansible_default_ipv4.address | default(ansible_all_ipv4_addresses[0]) }}"

# Datenbankverbindungsdetails.
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

# Du kannst Anwendungen in NextCloud installieren.
# nextcloud_apps:
#   - name: richdocumentscode

# Du kannst Parameter für Nextcloud festlegen.
# nextcloud_settings:
#   - name: max_chunk_size
#     section: files
#     value: 0

# Du kannst Nextcloud an einem Ort deiner Wahl installieren. spezifische
# Ziele sind in `vars/main.yml` festgelegt, die hier aufgerufen werden.
# Du kannst das Ziel nach Belieben überschreiben. Zum Beispiel:
#
# nextcloud_destination: /opt
#
nextcloud_destination: "{{ _nextcloud_destination[ansible_distribution] | default(_nextcloud_destination['default']) }}"

Anforderungen

Status der verwendeten Rollen

Die folgenden Rollen werden verwendet, um ein System vorzubereiten. Du kannst dein System auch anders vorbereiten.

Anforderungen 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

Kontext

Diese Rolle ist Teil vieler kompatibler Rollen. Sieh dir die Dokumentation dieser Rollen für weitere Informationen an.

Hier ist eine Übersicht verwandter Rollen: dependencies

Kompatibilität

Diese Rolle wurde auf diesen Container-Images getestet:

Container Tags
EL 9
Ubuntu jammy

Die minimale benötigte Version von Ansible ist 2.12, Tests wurden durchgeführt auf:

  • Der vorherigen Version.
  • Der aktuellen Version.
  • Der Entwicklungsversion.

Wenn du Probleme findest, melde sie bitte in GitHub.

Lizenz

Apache-2.0.

Autoreninformation

robertdebock

Bitte ziehe in Betracht, mich zu unterstützen.

Über das Projekt

Install and configure Nextcloud on your system.

Installieren
ansible-galaxy install robertdebock.nextcloud
Lizenz
apache-2.0
Downloads
88.8k
Besitzer
I know my way around (Linux) infrastructure, have a passion for automation, Docker, Ansible, Molecule and ci/cd.