--- # create directories - name: "create prometheus directory" ansible.builtin.file: path: "/mnt/prometheus" state: "directory" owner: "nobody" group: "nogroup" mode: "0775" - name: "create prometheus data directory" ansible.builtin.file: path: "/mnt/prometheus/data" state: "directory" owner: "nobody" group: "nogroup" mode: "0775" # yamllint disable # create prometheus config - name: "create prometheus config" ansible.builtin.copy: dest: "/mnt/prometheus/prometheus.yml" mode: "0644" content: | global: scrape_interval: 15s scrape_configs: - job_name: 'unbound' static_configs: - targets: ['dns01.siempie.internal:9167'] - targets: ['dns02.siempie.internal:9167'] notify: "restart prometheus" # yamllint enable # run prometheus - name: "run prometheus" community.docker.docker_container: # docker defaults auto_remove: "no" container_default_behavior: "no_defaults" detach: "yes" init: "no" interactive: "no" log_driver: "json-file" log_options: max-size: "5m" max-file: "3" memory: "0" paused: "no" privileged: "no" pull: "always" read_only: "no" state: "started" tty: "no" # run prometheus name: "prometheus" image: "cr.simoncor.net/dockerhub/prom/prometheus:v3.11.3" image_name_mismatch: "recreate" restart_policy: "unless-stopped" network_mode: "host" volumes: - "/mnt/prometheus/data:/prometheus" - "/mnt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml:ro" command: - "--config.file=/etc/prometheus/prometheus.yml" - "--storage.tsdb.path=/prometheus"