thorian93.nextcloud
Rôle Ansible : Nextcloud
Ce rôle installe Nextcloud sur des serveurs Debian/Ubuntu, RHEL/CentOS et Fedora.
Problèmes connus
- L'installation sur Debian fonctionne généralement, mais la configuration automatique de Nextcloud n'est pas encore possible. Vous devez le faire manuellement pour l'instant et exécuter à nouveau le rôle par la suite pour les tâches de gestion après installation. Le rôle échouera lors de la première exécution, c'est prévu.
Exigences
Aucune exigence spéciale ; notez que ce rôle nécessite un accès root, donc exécutez-le dans un playbook avec become: yes
, ou invoquez le rôle dans votre playbook comme suit :
- hosts: foobar
roles:
- role: thorian93.nextcloud
become: yes
Variables du rôle
Les variables disponibles sont listées ci-dessous, avec les valeurs par défaut (voir defaults/main.yml
):
nextcloud_version: "20.0.5"
Définissez la version de Nextcloud que vous souhaitez installer.
nextcloud_create_self_signed_cert: true
nextcloud_self_signed_cert_subj: "/C=DE/ST=FOO/L=BAR/O=Org/CN={{ nextcloud_external_url }}"
nextcloud_self_signed_certificate_key: "/etc/{{ apache2_http_name }}/ssl/nextcloud.key"
nextcloud_self_signed_certificate: "/etc/{{ apache2_http_name }}/ssl/nextcloud.crt"
Configurez les certificats auto-signés selon vos préférences.
nextcloud_custom_cert: false
nextcloud_custom_cert_file: /etc/{{ apache2_http_name }}/ssl/nextcloud.crt
nextcloud_custom_cert_key: /etc/{{ apache2_http_name }}/ssl/nextcloud.key
Si vous souhaitez utiliser votre propre certificat, vous pouvez le définir ici.
nextcloud_certificate_key: "{{ certbot_cert_path }}/privkey.pem"
nextcloud_certificate: "{{ certbot_cert_path }}/cert.pem"
nextcloud_certificate_chain: "{{ certbot_cert_path }}/fullchain.pem"
Si nextcloud_create_self_signed_cert
et nextcloud_custom_cert
sont définis sur faux, thorian93.certbot sera utilisé pour obtenir des certificats.
nextcloud_db_system: "mysql"
nextcloud_db_host: "127.0.0.1"
nextcloud_db_name: "nextcloud"
Configurez la base de données pour Nextcloud. Actuellement, seul MySQL/MariaDB est disponible.
nextcloud_enable_opt_prerequisites: true
Cela installe des logiciels optionnels qui sont utiles pour Nextcloud.
nextcloud_turn_enable: 'false'
nextcloud_turn_ip: "{{ ansible_default_ipv4.address }}"
nextcloud_turn_port: 3478
nextcloud_turn_realm: "{{ nextcloud_external_url }}"
# Définissez cela dans votre inventaire. Par défaut, ce rôle générera un nouveau secret à chaque exécution jusqu'à ce que cette variable soit définie.
# nextcloud_turn_secret:
Activez et configurez la mise en place d'un serveur TURN pour Nextcloud Talk sur votre serveur. Pour plus d'informations, consultez la documentation de Nextcloud. Gardez un œil sur la variable nextcloud_turn_secret
!
nextcloud_backup: false
nextcloud_backup_path: "/tmp"
Configurez les sauvegardes pour Nextcloud.
nextcloud_web_dir: "/var/www/nextcloud"
nextcloud_data_dir: "/var/www/nextcloud/data"
Définissez les répertoires pour Nextcloud.
Il est recommandé de placer le répertoire de données en dehors de la racine web.
La racine web est configurable mais prend actuellement en charge uniquement le répertoire /var/www
. Placer l'application en dehors de /var/www
ne fonctionnera pas actuellement ! Cela n'affecte cependant pas le répertoire de données.
nextcloud_php_options:
- line: "post_max_size = 4G"
regexp: "^post_max_size ="
- line: "upload_max_filesize = 4G"
regexp: "^upload_max_filesize ="
- line: "open_basedir ='{{ nextcloud_web_dir }}:{{ nextcloud_data_dir }}:/tmp:/dev/urandom'"
regexp: "^open_basedir ="
Définissez les options PHP pour Nextcloud. Les valeurs par défaut données ici sont nécessaires au bon fonctionnement de Nextcloud.
nextcloud_enabled_apps:
- files
Listez les applications qui doivent être activées.
Dépendances
- thorian93.apache2
- thorian93.php
- thorian93.certbot - lorsque aucun certificat personnalisé ou auto-signé n'est utilisé
- thorian93.mysql
Compatibilité OS
Ce rôle s'assure qu'il n'est pas utilisé sur des systèmes d'exploitation non pris en charge ou non testés en vérifiant si le bon nom de distribution et le numéro de version majeur sont présents dans une variable dédiée nommée <role-name>_stable_os
. Vous pouvez trouver la variable dans le fichier de variables par défaut du rôle à defaults/main.yml
:
role_stable_os:
- Debian 10
- Ubuntu 18
- CentOS 7
- Fedora 30
Si la combinaison de la distribution et du numéro de version majeur ne correspond pas au système cible, le rôle échouera. Pour permettre au rôle de fonctionner, ajoutez le nom de la distribution et le numéro de version majeur à cette variable et c'est bon. Mais veuillez d'abord tester la nouvelle combinaison !
Remerciements à HarryHarcourt pour cette idée !
Exemple de Playbook
---
- name: "Exécuter le rôle."
hosts: all
become: yes
roles:
- ansible-role-nextcloud
Contribution
N'hésitez pas à signaler des problèmes si vous trouvez des bogues, des problèmes ou si vous voyez des possibilités d'amélioration. N'hésitez pas non plus à me contacter à tout moment si vous souhaitez poser une question ou discuter de quelque chose.
Avertissement
Ce rôle est fourni TEL QUEL et je ne peux garantir que le rôle fonctionne comme prévu, ni je ne pourrai être responsable de tout dommage ou mauvaise configuration causés par ce rôle. Étudiez le rôle attentivement avant de l'utiliser.
Licence
MIT
Informations sur l'auteur
Ce rôle a été créé en 2020 par Thorian93.
Nextcloud - Open Source Files and Collaboration
ansible-galaxy install thorian93.nextcloud