thorian93.nextcloud

Rôle Ansible : Nextcloud

Nextcloud

Ce rôle installe Nextcloud sur des serveurs Debian/Ubuntu, RHEL/CentOS et Fedora.

Rôle Ansible : Nextcloud Rôle Ansible : Nextcloud Rôle Ansible : Nextcloud

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

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.

À propos du projet

Nextcloud - Open Source Files and Collaboration

Installer
ansible-galaxy install thorian93.nextcloud
Licence
mit
Téléchargements
1.8k
Propriétaire
Greetings earthlings! I am a young Linux, IT and tech enthusiast and currently I am working as a checkmk consultant for Checkmk.