feat: add basic nextcloud role

nextcloud with optional collabora base setup
This commit is contained in:
Bert-Jan Fikse 2025-12-19 14:17:08 +01:00
parent 19986e1205
commit 6ab3505dc8
Signed by: bert-jan
GPG key ID: C1E0AB516AC16D1A
11 changed files with 404 additions and 0 deletions

View file

@ -0,0 +1,63 @@
#SPDX-License-Identifier: MIT-0
---
# tasks file for nextcloud
- name: Create docker compose directory
file:
path: "{{ nextcloud_docker_compose_dir }}"
state: directory
mode: '0755'
- name: Create nextcloud data directory
file:
path: "{{ nextcloud_docker_volume_dir }}/data"
state: directory
mode: '0755'
- name: Create postgres data directory
file:
path: "{{ nextcloud_docker_volume_dir }}/postgresql"
state: directory
mode: '0755'
- name: Create docker-compose file for nextcloud
template:
src: docker-compose.yml.j2
dest: "{{ nextcloud_docker_compose_dir }}/docker-compose.yml"
mode: '0644'
- name: Create nginx template
template:
src: nginx.conf.j2
dest: "{{ nextcloud_docker_compose_dir }}/nginx.conf"
mode: '0644'
notify: Restart nginx container
- name: Create database initialization script
template:
src: init-db.sql.j2
dest: "{{ nextcloud_docker_compose_dir }}/init-db.sql"
mode: '0644'
- name: Start nextcloud container
community.docker.docker_compose_v2:
project_src: "{{ nextcloud_docker_compose_dir }}"
state: present
- name: Wait for Nextcloud to be ready
ansible.builtin.shell:
cmd: docker compose exec -T nextcloud php /var/www/html/occ status --output=json
chdir: "{{ nextcloud_docker_compose_dir }}"
retries: 30
delay: 5
register: nextcloud_ready
until:
- nextcloud_ready.rc == 0
- (nextcloud_ready.stdout | from_json).installed == true
changed_when: false
- name: Install nextcloud plugins
ansible.builtin.include_tasks: plugins.yml
- name: Configure nextcloud collabora
ansible.builtin.include_tasks: collabora.yml
when: nextcloud_enable_collabora