swcc.ansible_nextcloud
Nextcloud Rôle Ansible
Installe Nextcloud à partir des sources des serveurs nextcloud.com. Ce rôle suppose que vous exécuterez Nextcloud avec PHP-FPM
et l'installe donc pour vous en tant que dépendance de rôle Ansible (avec le rôle NBZ4live.php-fpm
).
Exemple de Playbook
Exemple de playbook de base :
- hosts: serveurs_web
roles:
- role: swcc.nextcloud
nextcloud_destination: /home/nextcloud
nextcloud_version: 19.0.3
Paramètres du Rôle
Variable | Par défaut | Type | Description |
---|---|---|---|
nextcloud_version |
20.0.2 |
string |
Quelle version de Nextcloud installer |
nextcloud_destination |
/var/www |
string |
Où installer Nextcloud (sera installé dans le répertoire "{{ nextcloud_destination}}/nextcloud/" sur votre système de fichiers) |
nextcloud_dir_user |
www-data |
string |
Quel utilisateur Unix devrait posséder le répertoire installé |
nextcloud_dir_group |
www-data |
string |
Quel groupe Unix devrait posséder le répertoire installé |
nextcloud_php_memory_limit |
512M |
string |
Paramètre de limite de mémoire PHP. La valeur recommandée par Nextcloud est 512M. |
nextcloud_config |
{} |
dict |
Un objet dictionnaire de clés et valeurs à définir dans le fichier config/config.php de Nextcloud. Attention au contenu, car il doit s'agir de valeurs PHP valides. Par exemple, une chaîne doit être définie dans votre dictionnaire Ansible comme "'mystring'" pour que la valeur soit la littérale 'mystring' dans le fichier config.php. |
nextcloud_onlyoffice_force_flush_period |
non défini | string |
Astuce tirée de https://help.nextcloud.com/t/onlyoffice-data-loss/20586/5 pour forcer les changements d'OnlyOffice à être enregistrés sur disque à intervalles réguliers. Par exemple, la valeur peut être 300s pour enregistrer les données toutes les 5 minutes. |
Variables optionnelles liées à la sauvegarde :
Variable | Par défaut | Type | Description |
---|---|---|---|
nextcloud_backup |
- | object |
Définissez cet objet si vous souhaitez sauvegarder à la fois la base de données et le répertoire de données de votre instance Nextcloud. |
nextcloud_backup.destination_server |
- | string |
Serveur de destination pour la sauvegarde qui recevra tous les fichiers (via rsync ) |
nextcloud_backup.retention |
7 |
number |
Nombre de jours de sauvegardes de la base de données à conserver sur l'instance |
nextcloud_backup.directory |
nextcloud_destination + '/nextcloud/data' |
string |
Chemin du répertoire de données Nextcloud à sauvegarder |
nextcloud_backup.pg |
- | object |
Détails de connexion à la base de données. Voir ci-dessous pour les détails des clés d'objet. |
nextcloud_backup.pg.pg_dump_binary |
- | string |
Chemin du binaire pg_dump sur le serveur |
nextcloud_backup.pg.host |
localhost |
string |
Hôte de la base de données PostgreSQL |
nextcloud_backup.pg.port |
5432 |
string |
Port de la base de données PostgreSQL |
nextcloud_backup.pg.dbname |
nextcloud |
string |
Nom de la base de données PostgreSQL |
nextcloud_backup.pg.username |
nextcloud |
string |
Utilisateur de la base de données PostgreSQL |
nextcloud_backup.pg.password |
- | string |
Mot de passe de la base de données PostgreSQL |
⚠️ Veuillez également vérifier les variables php-fpm du rôle Ansible php-fpm dépendant avant de lancer ce rôle. ⚠️
Il est très important de vérifier la version de PHP que vous souhaitez exécuter en définissant la variable php_fpm_version
. Voici un exemple de configuration du rôle dépendant php-fpm
qui devrait convenir à la plupart des besoins :
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 pour une utilisation Ansible plus facile
J'ai écrit un petit Makefile pour rendre vos futures exécutions Ansible plus faciles. N'hésitez pas à le consulter.
Téléchargez le paquet *.deb
à partir des publications GitHub, installez-le et commencez à l'utiliser avec ansible-make help
.
Licence
GPLv3