Files
homelab/tasks/monitoring.yml
Alex Frantz 0a84520e94
All checks were successful
Deploy Containers / Prepare (push) Successful in 26s
update config name
2025-07-29 23:49:37 -04:00

73 lines
1.8 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
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