1
0
Fork 0

Add protonmail + cloud + fix prometheus

This commit is contained in:
Florian RICHER 2023-05-20 16:36:15 +02:00
parent 525c6ed2a4
commit 427838c903
13 changed files with 106 additions and 2 deletions

View file

@ -4,4 +4,8 @@ server:
domain: mrdev023.fr
acme:
email: florian.richer.97@outlook.com
debug: true
debug: true
# Other
protonmail:
initialized: false

View file

@ -6,3 +6,5 @@
- { role: docker, tags: ["docker"] }
- { role: traefik, tags: ["traefik"] }
- { role: whoami, tags: ["whoami"] }
- { role: protonmail, tags: ["protonmail"] }
- { role: cloud, tags: ["cloud"] }

View file

@ -0,0 +1,39 @@
---
- name: Check cloud directory exist
ansible.builtin.file:
path: cloud
state: directory
- name: Copy cloud conf
ansible.builtin.copy:
backup: true
src: .
dest: cloud/
register: cloud_copy_files_results
- name: Copy template conf
ansible.builtin.template:
backup: true
src: "{{ item.src }}"
dest: "cloud/{{ item.dest }}"
loop:
- { src: 'docker-compose.yml.j2', dest: 'docker-compose.yml' }
register: cloud_copy_templates_results
- name: Force update and restart container
community.docker.docker_compose:
project_src: cloud
state: present
pull: true
restarted: true
when: cloud_copy_files_results.changed or cloud_copy_templates_results.changed
become: true
- name: Update or start container
community.docker.docker_compose:
project_src: cloud
state: present
pull: true
when: not cloud_copy_files_results.changed and not cloud_copy_templates_results.changed
become: true

View file

@ -0,0 +1,7 @@
---
- name: Ensure a job that run all 5 minutes for nextcloud cron
ansible.builtin.cron:
name: "check dirs"
minute: "*/5"
job: "cd {{ ansible_env.HOME }}/cloud && ./cron.sh"

View file

@ -0,0 +1,7 @@
---
- ansible.builtin.import_tasks: base.yml
name: base
- ansible.builtin.import_tasks: cron.yml
name: cron

View file

@ -44,7 +44,7 @@ services:
- "traefik.http.middlewares.nextcloud-headers.headers.customRequestHeaders.X-Robots-Tag=none"
- "traefik.http.middlewares.nextcloud-headers.headers.customFrameOptionsValue=SAMEORIGIN"
- "traefik.http.routers.nextcloud-secure.entrypoints=https"
- "traefik.http.routers.nextcloud-secure.rule=Host(`mycld.mrdev023.fr`)"
- "traefik.http.routers.nextcloud-secure.rule=Host(`mycld.{{ server.domain }}`)"
- "traefik.http.routers.nextcloud-secure.tls=true"
- "traefik.http.routers.nextcloud-secure.tls.certresolver=sslResolver"
- "traefik.http.routers.nextcloud-secure.middlewares=nextcloud-compress,nextcloud-regex-redirect,nextcloud-headers"

View file

@ -0,0 +1,41 @@
---
- name: Check protonmail directory exist
ansible.builtin.file:
path: protonmail
state: directory
- name: Copy protonmail conf
ansible.builtin.copy:
backup: true
src: .
dest: protonmail/
register: protonmail_copy_files_results
- name: Create protonmail network
community.docker.docker_network:
name: protonmail
state: present
become: true
- name: Show message if not initialized
ansible.builtin.debug:
msg: Please run init.sh in protonmail folder and set variable protonmail.initialized to true and restart tasks
when: not protonmail.initialized
- name: Force update and restart container
community.docker.docker_compose:
project_src: protonmail
state: present
pull: true
restarted: true
when: protonmail.initialized and protonmail_copy_files_results.changed
become: true
- name: Update or start container
community.docker.docker_compose:
project_src: protonmail
state: present
pull: true
when: protonmail.initialized and not protonmail_copy_files_results.changed
become: true

View file

@ -0,0 +1,4 @@
---
- ansible.builtin.import_tasks: base.yml
name: base