ansible-role-nextcloud/tasks/nextcloud-install.yml

68 lines
2.2 KiB
YAML

---
- block:
- name: Install the nextcloud php prerequisites
apt: name={{ nextcloud_php_required_packages }} state=present cache_valid_time=1800
tags: [ 'nextcloud', 'php', 'php-fpm' ]
- block:
- name: Create the nextcloud webroot
file: dest={{ nextcloud_web_basedir }} owner=root group=root state=directory
- name: Create the nextcloud log directory
file:
dest: '{{ nextcloud_log_directory }}'
state: directory
owner: '{{ item.user }}'
group: '{{ item.user }}'
loop: '{{ phpfpm_pools }}'
- name: Install the logrotate configuration for nextcloud
template:
src: nextcloud-logrotate.conf.j2
dest: /etc/logrotate.d/nextcloud
owner: root
group: root
mode: 0444
- name: Create the nextcloud data directory
file:
dest: '{{ nextcloud_data_dir }}'
state: directory
owner: '{{ item.user }}'
group: '{{ item.user }}'
loop: '{{ phpfpm_pools }}'
when: phpfpm_create_users
- name: Create the nextcloud data directory when the user has been created externally
become: True
become_user: '{{ item.user }}'
file:
dest: '{{ nextcloud_data_dir }}'
state: directory
owner: '{{ item.user }}'
group: '{{ item.user }}'
loop: '{{ phpfpm_pools }}'
when: not phpfpm_create_users
- name: Set the nextcloud archive filename when we want the latest stable
set_fact:
nextcloud_dist_filename: '{{ nextcloud_dist_filename_prefix.latest }}.{{ nextcloud_archive_format }}'
when: nextcloud_get_latest_stable
- name: Set the nextcloud archive filename when we do NOT want the latest stable
set_fact:
nextcloud_dist_filename: '{{ nextcloud_dist_filename_prefix[nextcloud_release_channel] }}.{{ nextcloud_archive_format }}'
when: not nextcloud_get_latest_stable
- name: Get nextcloud
get_url: url={{ nextcloud_download_url }} dest=/srv/{{ nextcloud_dist_filename }}
- name: Unpack the nextcloud archive
unarchive: remote_src=yes src=/srv/{{ nextcloud_dist_filename }} dest={{ nextcloud_web_basedir }} owner={{ item.user }} group={{ item.user }}
args:
creates: '{{ item.doc_root }}/index.php'
loop: '{{ phpfpm_pools }}'
tags: [ 'nextcloud' ]