feat: add basic nextcloud role
nextcloud with optional collabora base setup
This commit is contained in:
parent
19986e1205
commit
6ab3505dc8
11 changed files with 404 additions and 0 deletions
63
roles/nextcloud/tasks/main.yml
Normal file
63
roles/nextcloud/tasks/main.yml
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue