Refactor tasks for compose.yml and add tasks for pihole, homeassistant, and prometheus
Signed-off-by: TuDatTr <tuan-dat.tran@tudattr.dev>
This commit is contained in:
@@ -1,99 +1,46 @@
|
||||
---
|
||||
- name: Create zonminder user
|
||||
user:
|
||||
name: zm
|
||||
uid: 911
|
||||
shell: /bin/false
|
||||
become: true
|
||||
|
||||
- name: Create Zoneminder config directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 911
|
||||
group: 911
|
||||
mode: '700'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ zoneminder_config }}"
|
||||
become: true
|
||||
|
||||
- name: Create Zoneminder data directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 911
|
||||
group: 911
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ zoneminder_data }}"
|
||||
become: true
|
||||
- include_tasks: zoneminder.yml
|
||||
tags:
|
||||
- zoneminder
|
||||
|
||||
- name: Create syncthing directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: "{{ puid }}"
|
||||
group: "{{ pgid }}"
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ syncthing_data }}"
|
||||
become: true
|
||||
- include_tasks: pihole.yml
|
||||
tags:
|
||||
- pihole
|
||||
|
||||
- name: Resolve inotify error for syncthing
|
||||
template:
|
||||
src: "templates/aya01/syncthing/syncthing.conf"
|
||||
dest: "/etc/sysctl.d/syncthing.conf"
|
||||
mode: "660"
|
||||
become: true
|
||||
- include_tasks: syncthing.yml
|
||||
tags:
|
||||
- syncthing
|
||||
|
||||
- name: Create grafana data directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: "{{ puid }}"
|
||||
group: "{{ pgid }}"
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ grafana_data }}"
|
||||
- "{{ grafana_log }}"
|
||||
- "{{ grafana_config }}"
|
||||
become: true
|
||||
- include_tasks: grafana.yml
|
||||
tags:
|
||||
- grafana
|
||||
|
||||
- name: Copy grafana config
|
||||
template:
|
||||
owner: "{{ puid }}"
|
||||
src: "templates/aya01/grafana/etc-grafana/grafana.ini"
|
||||
dest: "{{ grafana_config }}/grafana.ini"
|
||||
mode: '660'
|
||||
become: true
|
||||
- include_tasks: softserve.yml
|
||||
tags:
|
||||
- softserve
|
||||
|
||||
- name: Create soft-serve directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: "{{ puid }}"
|
||||
group: "{{ pgid }}"
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ softserve_data }}"
|
||||
become: true
|
||||
- include_tasks: prometheus.yml
|
||||
tags:
|
||||
- prometheus
|
||||
|
||||
# Todo, check if docker compose is running
|
||||
# - name: Shut down docker
|
||||
# shell:
|
||||
# cmd: "docker compose down --remove-orphans"
|
||||
# chdir: "{{ docker_compose_dir }}"
|
||||
- include_tasks: netdata.yaml
|
||||
tags:
|
||||
- netdata
|
||||
|
||||
- name: Copy the compose file
|
||||
template:
|
||||
src: templates/aya01/compose.yaml
|
||||
dest: "{{ docker_compose_dir }}/compose.yaml"
|
||||
tags:
|
||||
- reload_compose
|
||||
register: compose
|
||||
|
||||
- name: Shut down docker
|
||||
shell:
|
||||
cmd: "docker compose down --remove-orphans"
|
||||
chdir: "{{ docker_compose_dir }}"
|
||||
when: compose.changed
|
||||
|
||||
- name: Run docker compose
|
||||
shell:
|
||||
cmd: "docker compose up -d"
|
||||
chdir: "{{ docker_compose_dir }}"
|
||||
tags:
|
||||
- reload_compose
|
||||
|
||||
16
roles/docker/tasks/ddns.yml
Normal file
16
roles/docker/tasks/ddns.yml
Normal file
@@ -0,0 +1,16 @@
|
||||
---
|
||||
- name: Create ddns-config directory
|
||||
file:
|
||||
path: "{{ docker_dir }}/ddns-updater/data/"
|
||||
owner: 1000
|
||||
group: 1000
|
||||
mode: '700'
|
||||
state: directory
|
||||
|
||||
- name: Copy ddns-config
|
||||
template:
|
||||
owner: 1000
|
||||
src: "templates/pi/ddns-updater/data/config.json"
|
||||
dest: "{{ docker_dir }}/ddns-updater/data/config.json"
|
||||
mode: '400'
|
||||
|
||||
22
roles/docker/tasks/grafana.yml
Normal file
22
roles/docker/tasks/grafana.yml
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
- name: Create grafana data directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: "{{ puid }}"
|
||||
group: "{{ pgid }}"
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ grafana_data }}"
|
||||
- "{{ grafana_log }}"
|
||||
- "{{ grafana_config }}"
|
||||
become: true
|
||||
|
||||
- name: Copy grafana config
|
||||
template:
|
||||
owner: "{{ puid }}"
|
||||
src: "templates/aya01/grafana/etc-grafana/grafana.ini"
|
||||
dest: "{{ grafana_config }}/grafana.ini"
|
||||
mode: '660'
|
||||
become: true
|
||||
|
||||
8
roles/docker/tasks/homeassistant.yml
Normal file
8
roles/docker/tasks/homeassistant.yml
Normal file
@@ -0,0 +1,8 @@
|
||||
---
|
||||
|
||||
- name: Create homeassistant-config directory
|
||||
file:
|
||||
path: "{{ ha_config }}"
|
||||
mode: '755'
|
||||
state: directory
|
||||
become: true
|
||||
13
roles/docker/tasks/netdata.yaml
Normal file
13
roles/docker/tasks/netdata.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
---
|
||||
|
||||
- name: Create netdata dirs
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 1000
|
||||
group: 1000
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ netdata_config }}"
|
||||
- "{{ netdata_cache }}"
|
||||
- "{{ netdata_lib }}"
|
||||
@@ -1,49 +1,20 @@
|
||||
---
|
||||
- name: Create ddns-config directory
|
||||
file:
|
||||
path: "{{ docker_dir }}/ddns-updater/data/"
|
||||
owner: 1000
|
||||
mode: '700'
|
||||
state: directory
|
||||
|
||||
- name: Copy ddns-config
|
||||
template:
|
||||
owner: 1000
|
||||
src: "templates/pi/ddns-updater/data/config.json"
|
||||
dest: "{{ docker_dir }}/ddns-updater/data/config.json"
|
||||
mode: '400'
|
||||
|
||||
- name: Create traefik-config directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 1000
|
||||
mode: '700'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ docker_dir }}/traefik/etc-traefik/"
|
||||
- "{{ docker_dir }}/traefik/var-log/"
|
||||
- include_tasks: traefik.yml
|
||||
tags:
|
||||
- traefik
|
||||
|
||||
- name: Create pihole-config directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 1000
|
||||
mode: '777'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ docker_dir }}/pihole/etc-pihole/"
|
||||
- "{{ docker_dir }}/pihole/etc-dnsmasq.d/"
|
||||
become: yes
|
||||
- include_tasks: ddns.yml
|
||||
tags:
|
||||
- ddns
|
||||
|
||||
- name: Copy traefik-config
|
||||
template:
|
||||
owner: 1000
|
||||
src: "templates/pi/{{ item }}"
|
||||
dest: "{{ docker_dir }}/{{ item }}"
|
||||
mode: '400'
|
||||
loop:
|
||||
- "traefik/etc-traefik/traefik.yml"
|
||||
- "traefik/var-log/access.log"
|
||||
- "traefik/var-log/traefik.log"
|
||||
- include_tasks: homeassistant.yml
|
||||
tags:
|
||||
- homeassistant
|
||||
|
||||
- include_tasks: pihole.yml
|
||||
tags:
|
||||
- pihole
|
||||
|
||||
# Todo, check if docker compose is running
|
||||
# - name: Shut down docker
|
||||
|
||||
12
roles/docker/tasks/pihole.yml
Normal file
12
roles/docker/tasks/pihole.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
- name: Create pihole-config directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: "{{ puid }}"
|
||||
group: "{{ pgid }}"
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ docker_dir }}/pihole/etc-pihole/"
|
||||
- "{{ docker_dir }}/pihole/etc-dnsmasq.d/"
|
||||
become: true
|
||||
42
roles/docker/tasks/prometheus.yml
Normal file
42
roles/docker/tasks/prometheus.yml
Normal file
@@ -0,0 +1,42 @@
|
||||
---
|
||||
|
||||
- name: Create prometheus dirs
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 1000
|
||||
group: 1000
|
||||
mode: '777'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ prm_config }}"
|
||||
- "{{ prm_data}}"
|
||||
|
||||
- name: Place prometheus config
|
||||
template:
|
||||
owner: 1000
|
||||
mode: '777'
|
||||
src: "templates/aya01/prometheus/prometheus.yml"
|
||||
dest: "{{ prm_config }}/prometheus.yml"
|
||||
|
||||
- name: Create prometheus exporter dir
|
||||
file:
|
||||
path: "{{ exporter_dir }}"
|
||||
owner: 1000
|
||||
group: 1000
|
||||
mode: '755'
|
||||
state: directory
|
||||
|
||||
- name: Create mikrotik exporters config dir
|
||||
file:
|
||||
path: "{{ e_mikrotik_config }}"
|
||||
owner: 1000
|
||||
group: 1000
|
||||
mode: '755'
|
||||
state: directory
|
||||
|
||||
- name: Place mikrotik exporter config
|
||||
template:
|
||||
owner: 1000
|
||||
mode: '400'
|
||||
src: "templates/aya01/prometheus/exporter/mikrotik/config/config.yml"
|
||||
dest: "{{ e_mikrotik_config }}/config.yml"
|
||||
12
roles/docker/tasks/softserve.yml
Normal file
12
roles/docker/tasks/softserve.yml
Normal file
@@ -0,0 +1,12 @@
|
||||
---
|
||||
|
||||
- name: Create soft-serve directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: "{{ puid }}"
|
||||
group: "{{ pgid }}"
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ softserve_data }}"
|
||||
become: true
|
||||
18
roles/docker/tasks/syncthing.yml
Normal file
18
roles/docker/tasks/syncthing.yml
Normal file
@@ -0,0 +1,18 @@
|
||||
---
|
||||
- name: Create syncthing directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: "{{ puid }}"
|
||||
group: "{{ pgid }}"
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ syncthing_data }}"
|
||||
become: true
|
||||
|
||||
- name: Resolve inotify error for syncthing
|
||||
template:
|
||||
src: "templates/aya01/syncthing/syncthing.conf"
|
||||
dest: "/etc/sysctl.d/syncthing.conf"
|
||||
mode: "660"
|
||||
become: true
|
||||
23
roles/docker/tasks/traefik.yml
Normal file
23
roles/docker/tasks/traefik.yml
Normal file
@@ -0,0 +1,23 @@
|
||||
---
|
||||
|
||||
- name: Create traefik-config directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 1000
|
||||
mode: '700'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ docker_dir }}/traefik/etc-traefik/"
|
||||
- "{{ docker_dir }}/traefik/var-log/"
|
||||
|
||||
- name: Copy traefik-config
|
||||
template:
|
||||
owner: 1000
|
||||
src: "templates/pi/{{ item }}"
|
||||
dest: "{{ docker_dir }}/{{ item }}"
|
||||
mode: '400'
|
||||
loop:
|
||||
- "traefik/etc-traefik/traefik.yml"
|
||||
- "traefik/var-log/access.log"
|
||||
- "traefik/var-log/traefik.log"
|
||||
|
||||
30
roles/docker/tasks/zoneminder.yml
Normal file
30
roles/docker/tasks/zoneminder.yml
Normal file
@@ -0,0 +1,30 @@
|
||||
---
|
||||
- name: Create zoneminder user
|
||||
user:
|
||||
name: zm
|
||||
uid: 911
|
||||
shell: /bin/false
|
||||
become: true
|
||||
|
||||
- name: Create Zoneminder config directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 911
|
||||
group: 911
|
||||
mode: '700'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ zoneminder_config }}"
|
||||
become: true
|
||||
|
||||
- name: Create Zoneminder data directory
|
||||
file:
|
||||
path: "{{ item }}"
|
||||
owner: 911
|
||||
group: 911
|
||||
mode: '755'
|
||||
state: directory
|
||||
loop:
|
||||
- "{{ zoneminder_data }}"
|
||||
become: true
|
||||
|
||||
Reference in New Issue
Block a user