74 lines
1.9 KiB
YAML
74 lines
1.9 KiB
YAML
---
|
|
- name: Create folder structure
|
|
file:
|
|
path: "{{ item }}"
|
|
state: directory
|
|
with_items:
|
|
- "{{ data_dir }}/monitoring"
|
|
- "{{ data_dir }}/monitoring/prometheus"
|
|
- "{{ data_dir }}/monitoring/grafana"
|
|
|
|
- name: Create Monitoring Docker Network
|
|
docker_network:
|
|
name: monitoring
|
|
|
|
- name: Create Grafana Docker Container
|
|
docker_container:
|
|
name: grafana
|
|
user: "{{ PUID }}"
|
|
image: grafana/grafana:latest
|
|
restart_policy: unless-stopped
|
|
recreate: true
|
|
networks:
|
|
- name: homelab
|
|
- name: monitoring
|
|
volumes:
|
|
- "{{ data_dir }}/monitoring/grafana:/var/lib/grafana"
|
|
env:
|
|
GF_AUTH_ANONYMOUS_ENABLED: "{{ GRAFANA_AUTH_ANONYMOUS_ENABLED }}"
|
|
|
|
- name: Copy Prometheus Config
|
|
template:
|
|
src: "prometheus.yml.j2"
|
|
dest: "{{ data_dir }}/monitoring/prometheus/config.yml"
|
|
|
|
- name: Create Prometheus Docker Container
|
|
docker_container:
|
|
name: prometheus
|
|
image: prom/prometheus:latest
|
|
restart_policy: unless-stopped
|
|
recreate: true
|
|
networks:
|
|
- name: homelab
|
|
- name: monitoring
|
|
volumes:
|
|
- "{{ data_dir }}/monitoring/prometheus:/prometheus"
|
|
- "{{ data_dir }}/monitoring/prometheus/config.yml:/etc/prometheus/prometheus.yml"
|
|
|
|
- name: Create CAdvisor Docker Container
|
|
docker_container:
|
|
name: cadvisor
|
|
image: gcr.io/cadvisor/cadvisor:latest
|
|
restart_policy: unless-stopped
|
|
recreate: true
|
|
privileged: true
|
|
networks:
|
|
- name: monitoring
|
|
devices:
|
|
- /dev/kmsg
|
|
volumes:
|
|
- "/:/rootfs:ro"
|
|
- "/var/run:/var/run:ro"
|
|
- "/sys:/sys:ro"
|
|
- "/var/lib/docker:/var/lib/docker:ro"
|
|
- "/dev/disk/:/dev/disk:ro"
|
|
|
|
- name: Create Node-Exporter Docker Container
|
|
docker_container:
|
|
name: node-exporter
|
|
image: prom/node-exporter:latest
|
|
restart_policy: unless-stopped
|
|
recreate: true
|
|
networks:
|
|
- name: monitoring
|