panopticon/service.yml

67 lines
1.6 KiB
YAML

name: panopticon
volumes:
- name: grafana-storage
- name: prometheus-storage
- name: loki-storage
- name: tempo-data
build:
images:
- path: ./tempo.Dockerfile
tag: panopticon-tempo
- path: ./otel-collector.Dockerfile
tag: panopticon-otel-collector
ports:
# Grafana web
- host: 3100
container: 3000
# Loki
- host: 3101
container: 3100
# Prometheus
- host: 9090
container: 9090
- host: 3200
container: 3200
- host: 4318
container: 4618
- host: 4317
container: 4617
containers:
- name: grafana
image: grafana/grafana
volumes:
- name: grafana-storage
container: /var/lib/grafana
- name: loki
image: grafana/loki:main-a08ee68 # Updated: 11/6/2024
volumes:
- name: loki-storage
container: /loki
- name: prometheus
image: prom/prometheus
volumes:
- name: prometheus-storage
container: /prometheus
- host: ./prometheus.yml
container: /etc/prometheus/prometheus.yml
extra-args:
- --storage.tsdb.retention.time=60d
- --storage.tsdb.path=/prometheus
- --config.file=/etc/prometheus/prometheus.yml
- name: otel-collector
image: panopticon-otel-collector:latest
- name: host-metrics-exporter
image: quay.io/prometheus/node-exporter:latest
network: host
pid-namespace: host
volumes:
- host: /
container: /host
readonly: true
extra-args:
- --path.rootfs=/host
- name: tempo
image: panopticon-tempo:latest
volumes:
- name: tempo-data
container: /var/tempo