swcc.ansible_nextcloud

Nextcloud Ansible Rolle

Build Status Ansible Galaxy

Installiert Nextcloud von den nextcloud.com Servern. Diese Rolle geht davon aus, dass Sie Nextcloud mit PHP-FPM ausführen, und installiert es daher für Sie als Abhängigkeit der Ansible-Rolle (mit der NBZ4live.php-fpm Rolle).

Beispiel-Playbook

Ein einfaches Beispiel-Playbook:

- hosts: webserver
  roles:
    - role: swcc.nextcloud
      nextcloud_destination: /home/nextcloud
      nextcloud_version: 19.0.3

Rollenparameter

Variable Standard Typ Beschreibung
nextcloud_version 20.0.2 string Welche Nextcloud-Version installiert werden soll
nextcloud_destination /var/www string Wo Nextcloud installiert werden soll (wird im Verzeichnis "{{ nextcloud_destination}}/nextcloud/" auf Ihrem Dateisystem installiert)
nextcloud_dir_user www-data string Welcher Unix-Benutzer das installierte Verzeichnis besitzen soll
nextcloud_dir_group www-data string Welche Unix-Gruppe das installierte Verzeichnis besitzen soll
nextcloud_php_memory_limit 512M string Einstellung für das PHP memory_limit. Standardmäßig empfohlen von Nextcloud ist 512M.
nextcloud_config {} dict Ein dict-Objekt mit Schlüsselwerten, die in der Datei config/config.php von Nextcloud gesetzt werden. Achten Sie auf den Inhalt, da diese gültige PHP-Werte sein müssen. Zum Beispiel sollte ein String in Ihrem Ansible-Wörterbuch als "'mystring'" definiert werden, damit der Wert im config.php-Dokument als 'mystring' erscheint.
nextcloud_onlyoffice_force_flush_period undefiniert string Hack entnommen von https://help.nextcloud.com/t/onlyoffice-data-loss/20586/5, um Onlyoffice-Änderungen regelmäßig auf die Festplatte zu schreiben. Zum Beispiel kann der Wert 300s angegeben werden, um die Daten alle 5 Minuten zu speichern.

Optional, backupbezogene Variablen:

Variable Standard Typ Beschreibung
nextcloud_backup - object Definieren Sie dieses Objekt, wenn Sie sowohl die Datenbank als auch das Datenverzeichnis Ihrer Nextcloud-Instanz sichern möchten.
nextcloud_backup.destination_server - string Ziel-Backup-Server, der alle Dateien (über rsync) empfangen wird
nextcloud_backup.retention 7 number Anzahl der Tage, die Datenbanksicherungen auf der Instanz aufbewahrt werden sollen
nextcloud_backup.directory nextcloud_destination + '/nextcloud/data' string Pfad des Nextcloud-Datenverzeichnisses, das gesichert werden soll
nextcloud_backup.pg - object Verbindungsdetails zur Datenbank. Siehe unten für Details zu den Schlüsselobjekten.
nextcloud_backup.pg.pg_dump_binary - string Pfad zur pg_dump-Binärdatei auf dem Server
nextcloud_backup.pg.host localhost string Host der PostgreSQL-Datenbank
nextcloud_backup.pg.port 5432 string Port der PostgreSQL-Datenbank
nextcloud_backup.pg.dbname nextcloud string Name der PostgreSQL-Datenbank
nextcloud_backup.pg.username nextcloud string Benutzer der PostgreSQL-Datenbank
nextcloud_backup.pg.password - string Passwort der PostgreSQL-Datenbank

⚠️ Bitte überprüfen Sie auch die PHP-FPM-Variablen der abhängigen PHP-FPM Ansible-Rolle, bevor Sie diese Rolle ausführen. ⚠️

Überprüfen Sie zusätzlich die PHP-Version, die Sie verwenden möchten, indem Sie die Variable php_fpm_version setzen. Hier ist eine Beispielkonfiguration der abhängigen php-fpm-Rolle, die den meisten Bedürfnissen gerecht werden sollte:

php_fpm_version: 7.4

php_fpm_pool_defaults:
  pm: dynamic
  pm.max_children: 10
  pm.start_servers: 2
  pm.min_spare_servers: 1
  pm.max_spare_servers: 4
php_fpm_pools:
  - name: www
    user: www-data
    group: www-data
    listen: "/run/php/php{{ php_fpm_version }}-fpm.sock"
    listen.owner: www-data
    listen.group: www-data
    chdir: /var/www
    env:
      PATH: "/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin"
      TMPDIR: "/tmp"
      TMP: "/tmp"
      HOSTNAME: "$HOSTNAME"

Makefile für einfachere Ansible-Nutzung

Ich habe ein kleines Makefile geschrieben, um Ihre zukünftigen Ansible-Ausführungen zu erleichtern. Zögern Sie nicht, es sich anzusehen.

Laden Sie das *.deb-Paket von den GitHub-Releases herunter, installieren Sie es und beginnen Sie, es mit ansible-make help zu verwenden.

Lizenz

GPLv3

Über das Projekt

Install and configure Nextcloud

Installieren
ansible-galaxy install swcc.ansible_nextcloud
GitHub Repository
Lizenz
gpl-3.0
Downloads
132
Besitzer