version: "3.8" services: prometheus: image: prom/prometheus:v2.47.2 command: - "--config.file=/etc/prometheus/prometheus.yml" - "--storage.tsdb.path=/var/lib/prometheus" - "--web.console.libraries=/usr/share/prometheus/console_libraries" - "--web.console.templates=/usr/share/prometheus/consoles" - "--web.external-url=http://127.0.0.1:9090" - "--storage.tsdb.retention.time=1y" - "--web.enable-lifecycle" ports: - "9090:9090" volumes: - ./data/prometheus/etc:/etc/prometheus - ./data/prometheus/var:/var/lib/prometheus restart: unless-stopped alertmanager: image: prom/alertmanager:v0.26.0 command: - "--config.file=/etc/alertmanager/alertmanager.yml" - "--storage.path=/var/lib/alertmanager" - "--web.external-url=http://127.0.0.1:9093" ports: - "9093:9093" volumes: - ./data/alertmanager/etc:/etc/alertmanager - ./data/alertmanager/var:/var/lib/alertmanager restart: unless-stopped graphite: image: prom/graphite-exporter:v0.14.0 command: - "--graphite.mapping-config=/etc/prometheus/graphite-mapping.yaml" - "--graphite.mapping-strict-match" ports: - "9108:9108" - "9109:9109" - "9109:9109/udp" volumes: - ./data/prometheus/etc:/etc/prometheus restart: unless-stopped