--- services: prometheus: image: prom/prometheus container_name: prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--web.enable-remote-write-receiver' ports: - 9090:9090 restart: unless-stopped volumes: - ./configs/prometheus.yml:/etc/prometheus/prometheus.yml - ./configs/prometheus_alerts.rules.yaml:/etc/prometheus/rules/alerts.rules.yaml - prom_data:/prometheus alertmanager: image: prom/alertmanager container_name: alertmanager command: - '--config.file=/etc/alertmanager/alertmanager.yaml' ports: - 9093:9093 restart: unless-stopped volumes: - ./configs/alertmanager.yaml:/etc/alertmanager/alertmanager.yaml - ./configs/alertmanager_alert_templates.tmpl:/etc/alertmanager/templates/alert_templates.tmpl - alertmanager_data:/alertmanager grafana: image: grafana/grafana container_name: grafana ports: - 3000:3000 restart: unless-stopped environment: - GF_SECURITY_ADMIN_USER=admin - "GF_SECURITY_ADMIN_PASSWORD={{ secret__grafana_gf_security_admin_password }}" volumes: - ./configs/grafana.ini:/etc/grafana/grafana.ini - ./configs/grafana-datasource.yml:/etc/grafana/provisioning/datasources/datasource.yml - graf_data:/var/lib/grafana pve-exporter: image: prompve/prometheus-pve-exporter container_name: pve-exporter ports: - 9221:9221 restart: unless-stopped environment: - PVE_USER=grafana@pve - "PVE_PASSWORD={{ secret__prometheus_pve_exporter_pve_password }}" - PVE_VERIFY_SSL=false volumes: - /dev/null:/etc/prometheus/pve.yml loki: image: grafana/loki:3 container_name: loki ports: - 13100:3100 - 19099:9099 restart: unless-stopped volumes: - ./configs/loki.yaml:/etc/loki/local-config.yaml - loki_data:/var/loki volumes: graf_data: {} prom_data: {} alertmanager_data: {} loki_data: {} mimir_data: {}