- name: Install Prometheus node exporter apt: name: prometheus-node-exporter state: present - name: Run Prometheus node exporter service: name: prometheus-node-exporter state: started - name: Create Prometheus directory file: path: /home/{{ docker_user }}/prometheus state: directory - name: Install Prometheus configuration template: src: prometheus-config.yml dest: /home/{{ docker_user }}/prometheus/prometheus.yml - name: Create Prometheus network docker_network: name: "{{ prom_name }}" - name: Start Prometheus container docker_container: name: "{{ prom_name }}" image: prom/prometheus:{{ prom_version }} state: started restart_policy: always volumes: - /home/{{ docker_user }}/prometheus:/etc/prometheus networks_cli_compatible: true networks: - name: "{{ prom_name }}" - name: traefik labels: traefik.http.routers.prometheus.rule: "Host(`{{ prom_domain }}`)" traefik.http.routers.prometheus.entrypoints: websecure traefik.docker.network: traefik traefik.enable: "true" - name: Start Grafana container docker_container: name: grafana image: grafana/grafana:latest networks_cli_compatible: true networks: - name: "{{ prom_name }}" - name: traefik labels: traefik.http.routers.grafana.rule: "Host(`{{ grafana_domain }}`)" traefik.http.routers.grafana.entrypoints: websecure traefik.docker.network: traefik traefik.enable: "true"