-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
executable file
·111 lines (106 loc) · 2.82 KB
/
docker-compose.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
networks:
grafana:
services:
loki:
restart: unless-stopped
image: grafana/loki:2.9.2
ports:
- "3100:3100"
command: -config.file=/etc/loki/config.yaml
volumes:
- './loki/:/etc/loki'
- './loki/data/:/data'
networks:
- grafana
grafana:
restart: unless-stopped
environment:
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
entrypoint:
- sh
- -euc
- |
mkdir -p /etc/grafana/provisioning/datasources
cat <<EOF > /etc/grafana/provisioning/datasources/ds.yaml
apiVersion: 1
prune: true
datasources:
- name: Loki
type: loki
access: proxy
orgId: 1
url: http://loki:3100
basicAuth: false
isDefault: false
version: 1
editable: false
- name: Tempo
type: tempo
access: proxy
orgId: 1
url: http://tempo:3103
basicAuth: false
isDefault: true
version: 3
editable: false
apiVersion: 1
uid: tempo
EOF
/run.sh
image: grafana/grafana:latest
ports:
- "3101:3000"
volumes:
- './grafana/:/var/lib/grafana'
networks:
- grafana
# https://github.com/grafana/tempo/blob/main/example/docker-compose/local/docker-compose.yaml
# Tempo runs as user 10001, and docker compose creates the volume as root.
# As such, we need to chown the volume in order for Tempo to start correctly.
tempo-init:
image: &tempoImage grafana/tempo:latest
user: root
entrypoint:
- "chown"
- "10001:10001"
- "/var/tempo"
volumes:
- ./tempo:/var/tempo
networks:
- grafana
tempo:
restart: unless-stopped
image: *tempoImage
command: [ "-config.file=/etc/tempo.yaml" ]
volumes:
- ./tempo/tempo.yaml:/etc/tempo.yaml
- ./tempo:/var/tempo
ports:
# - "14268:14268" # jaeger ingest
# - "3200:3200" # tempo
- "9095:9095" # tempo grpc
# - "4317:4317" # otlp grpc
- "4318:4318" # oltp http?
- "3103:3103" # server http?
# - "9411:9411" # zipkin
depends_on:
- tempo-init
networks:
- grafana
otel-collector:
restart: unless-stopped
image: otel/opentelemetry-collector-contrib
volumes:
- ./collector/config.yaml:/etc/otelcol-contrib/config.yaml
ports:
# - 1888:1888 # pprof extension
# - 8888:8888 # Prometheus metrics exposed by the Collector
# - 8889:8889 # Prometheus exporter metrics
# - 13133:13133 # health_check extension
# - 4317:4317 # OTLP gRPC receiver
- "3104:3104" # OTLP http receiver
# - 55679:55679 # zpages extension
networks:
- grafana