98 lines
2.7 KiB
YAML
98 lines
2.7 KiB
YAML
|
|
---
|
||
|
|
# VM Nextcloud : cloud personnel
|
||
|
|
# Deploie Nextcloud + PostgreSQL via Docker Compose
|
||
|
|
# Les donnees utilisateur sont stockees sur le QNAP via NFS
|
||
|
|
|
||
|
|
- name: Deploiement Nextcloud
|
||
|
|
hosts: nextcloud
|
||
|
|
become: true
|
||
|
|
|
||
|
|
tasks:
|
||
|
|
# -- Montage NFS vers le QNAP pour les donnees --
|
||
|
|
- name: Creation du repertoire parent /mnt/nas
|
||
|
|
ansible.builtin.file:
|
||
|
|
path: /mnt/nas
|
||
|
|
state: directory
|
||
|
|
mode: "0755"
|
||
|
|
tags: [nfs]
|
||
|
|
|
||
|
|
- name: Creation du point de montage NFS
|
||
|
|
ansible.builtin.shell: mkdir -p /mnt/nas/nextcloud-data
|
||
|
|
args:
|
||
|
|
creates: /mnt/nas/nextcloud-data
|
||
|
|
tags: [nfs]
|
||
|
|
|
||
|
|
- name: Montage NFS QNAP pour les donnees Nextcloud
|
||
|
|
ansible.posix.mount:
|
||
|
|
src: "{{ nas_ip }}:/nextcloud-data"
|
||
|
|
path: /mnt/nas/nextcloud-data
|
||
|
|
fstype: nfs
|
||
|
|
opts: defaults,noatime
|
||
|
|
state: mounted
|
||
|
|
tags: [nfs]
|
||
|
|
|
||
|
|
# -- Deploiement Nextcloud --
|
||
|
|
- name: Creation des repertoires Nextcloud
|
||
|
|
ansible.builtin.file:
|
||
|
|
path: "{{ item }}"
|
||
|
|
state: directory
|
||
|
|
owner: "{{ admin_user }}"
|
||
|
|
group: "{{ admin_user }}"
|
||
|
|
mode: "0755"
|
||
|
|
loop:
|
||
|
|
- /opt/nextcloud
|
||
|
|
- /opt/nextcloud/postgres
|
||
|
|
tags: [nextcloud]
|
||
|
|
|
||
|
|
- name: Deploiement docker-compose Nextcloud
|
||
|
|
ansible.builtin.copy:
|
||
|
|
src: ../../docker/nextcloud/docker-compose.yml
|
||
|
|
dest: /opt/nextcloud/docker-compose.yml
|
||
|
|
owner: "{{ admin_user }}"
|
||
|
|
group: "{{ admin_user }}"
|
||
|
|
mode: "0644"
|
||
|
|
tags: [nextcloud]
|
||
|
|
|
||
|
|
- name: Deploiement .env Nextcloud
|
||
|
|
ansible.builtin.template:
|
||
|
|
src: nextcloud.env.j2
|
||
|
|
dest: /opt/nextcloud/.env
|
||
|
|
owner: "{{ admin_user }}"
|
||
|
|
group: "{{ admin_user }}"
|
||
|
|
mode: "0600"
|
||
|
|
tags: [nextcloud]
|
||
|
|
|
||
|
|
- name: Demarrage Nextcloud
|
||
|
|
community.docker.docker_compose_v2:
|
||
|
|
project_src: /opt/nextcloud
|
||
|
|
state: present
|
||
|
|
tags: [nextcloud]
|
||
|
|
|
||
|
|
- name: Config personnalisee Nextcloud (permissions NFS)
|
||
|
|
ansible.builtin.copy:
|
||
|
|
src: ../../docker/nextcloud/custom.config.php
|
||
|
|
dest: /opt/nextcloud/custom.config.php
|
||
|
|
mode: "0644"
|
||
|
|
tags: [nextcloud]
|
||
|
|
|
||
|
|
- name: Injection config dans le container Nextcloud
|
||
|
|
ansible.builtin.shell: >
|
||
|
|
docker cp /opt/nextcloud/custom.config.php
|
||
|
|
nextcloud:/var/www/html/config/custom.config.php
|
||
|
|
changed_when: false
|
||
|
|
tags: [nextcloud]
|
||
|
|
|
||
|
|
- name: Ouverture port Nextcloud
|
||
|
|
ansible.posix.firewalld:
|
||
|
|
port: 8080/tcp
|
||
|
|
permanent: true
|
||
|
|
state: enabled
|
||
|
|
notify: reload firewalld
|
||
|
|
tags: [nextcloud, firewall]
|
||
|
|
|
||
|
|
handlers:
|
||
|
|
- name: reload firewalld
|
||
|
|
ansible.builtin.systemd:
|
||
|
|
name: firewalld
|
||
|
|
state: reloaded
|