June
f16f8697c2
Because of how Ansible local relative search paths work, the global "files" and "templates" directories need to be next to the playbooks. However its not intuitive to look into the "playbooks" directory to find the files and templates for a host. Therefore move them out of the "playbooks" directory into the root directory and add symlinks so everything still works. Similarly for local roles, they also need to be next to the playbooks. So for a nicer structure, move the "roles" directory out into the root directory as well and add a symlink so everything still works. Also see: https://docs.ansible.com/ansible/latest/playbook_guide/playbook_pathing.html#resolving-local-relative-paths https://docs.ansible.com/ansible/latest/playbook_guide/playbooks_reuse_roles.html#storing-and-finding-roles
58 lines
2.1 KiB
YAML
58 lines
2.1 KiB
YAML
---
|
|
- name: wait for existence of config directory
|
|
ansible.builtin.wait_for:
|
|
path: /ansible_docker_compose/nextcloud_var_www_html/config
|
|
state: present
|
|
become: true
|
|
|
|
- name: extra Nextcloud configuration
|
|
ansible.builtin.copy:
|
|
content: "{{ nextcloud__extra_configuration }}"
|
|
dest: /ansible_docker_compose/nextcloud_var_www_html/config/ansible_nextcloud_extra_config.config.php
|
|
mode: "0644"
|
|
owner: www-data
|
|
group: www-data
|
|
become: true
|
|
|
|
- name: fail, if nextcloud__use_custom_new_user_skeleton is set, but nextcloud__custom_new_user_skeleton_directory isn't
|
|
ansible.builtin.fail:
|
|
msg: If you set nextcloud__use_custom_new_user_skeleton, you also need to set nextcloud__custom_new_user_skeleton_directory.
|
|
when: nextcloud__use_custom_new_user_skeleton and nextcloud__custom_new_user_skeleton_directory == ""
|
|
|
|
- name: ensure custom new user skeleton
|
|
when: nextcloud__use_custom_new_user_skeleton
|
|
block:
|
|
- name: ensure `rsync` package is installed
|
|
ansible.builtin.apt:
|
|
name: rsync
|
|
state: present
|
|
become: true
|
|
|
|
- name: ensure custom new user skeleton directory
|
|
ansible.posix.synchronize:
|
|
src: "{{ nextcloud__custom_new_user_skeleton_directory }}"
|
|
dest: /ansible_docker_compose/custom_new_user_skeleton
|
|
delete: true
|
|
recursive: true
|
|
use_ssh_args: true
|
|
become: true
|
|
|
|
- name: ensure custom new user skeleton config
|
|
ansible.builtin.copy:
|
|
content: |
|
|
<?php
|
|
$CONFIG = array (
|
|
'skeletondirectory' => '/custom_new_user_skeleton'
|
|
);
|
|
dest: /ansible_docker_compose/nextcloud_var_www_html/config/ansible_nextcloud_custom_new_user_skeleton.config.php
|
|
mode: "0644"
|
|
owner: www-data
|
|
group: www-data
|
|
become: true
|
|
|
|
- name: ensure absence of custom new user skeleton config
|
|
ansible.builtin.file:
|
|
path: /ansible_docker_compose/nextcloud_var_www_html/config/ansible_nextcloud_custom_new_user_skeleton.config.php
|
|
state: absent
|
|
become: true
|
|
when: not nextcloud__use_custom_new_user_skeleton
|