swcc.ansible_nextcloud
Nextcloud Ansible Rolle
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