services: prometheus: image: prom/prometheus:v3.2.1 command: - --config.file=/etc/prometheus/prometheus.yml - --storage.tsdb.path=/prometheus - --storage.tsdb.retention.time={{ monitoring_prometheus_retention }} - --storage.tsdb.retention.size={{ monitoring_prometheus_retention_size }} - --web.enable-lifecycle volumes: - ./prometheus:/etc/prometheus:ro - ./prometheus/data:/prometheus restart: unless-stopped alertmanager: image: prom/alertmanager:v0.28.0 user: "0:0" command: - --config.file=/etc/alertmanager/alertmanager.yml - --storage.path=/alertmanager volumes: - ./alertmanager:/etc/alertmanager:ro restart: unless-stopped grafana: image: grafana/grafana:11.5.1 environment: GF_SECURITY_ADMIN_USER: {{ monitoring_grafana_admin_user | to_json }} GF_SECURITY_ADMIN_PASSWORD: {{ monitoring_grafana_admin_password | to_json }} GF_USERS_ALLOW_SIGN_UP: "false" ports: - "192.168.1.30:3000:3000" volumes: - ./grafana/provisioning:/etc/grafana/provisioning:ro - ./grafana/dashboards:/etc/grafana/dashboards:ro - grafana-data:/var/lib/grafana restart: unless-stopped blackbox-exporter: image: prom/blackbox-exporter:v0.25.0 command: - --config.file=/config/blackbox.yml volumes: - ./blackbox.yml:/config/blackbox.yml:ro restart: unless-stopped pve-exporter: image: prompve/prometheus-pve-exporter:3.5.5 user: "0:0" command: - --config.file=/etc/pve-exporter/pve.yml volumes: - ./pve-exporter/pve.yml:/etc/pve-exporter/pve.yml:ro restart: unless-stopped pushgateway: image: prom/pushgateway:v1.11.0 ports: - "192.168.1.30:9091:9091" restart: unless-stopped volumes: grafana-data: