-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathdocker-compose.yml
144 lines (130 loc) · 3.48 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
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
version: '3.3'
services:
minio:
image: minio/minio
entrypoint: [""]
command: ["sh", "-c", "mkdir -p /data/mimir-blocks /data/mimir-ruler /data/mimir-alertmanager /data/tempo /data/loki-data /data/loki-ruler /data/phlare && minio server /data --console-address :9001"]
environment:
- MINIO_ACCESS_KEY=minio
- MINIO_SECRET_KEY=supersecret
volumes:
- minio-data:/data
ports:
- "9001:9001"
redis:
image: redis:6.2.7
mysql:
image: mysql:5.7.39
environment:
- MYSQL_ROOT_PASSWORD=supersecret
grafana:
image: grafana/grafana:9.3.6
pull_policy: always
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
- GF_USERS_DEFAULT_THEME=light
- GF_LOG_MODE=console
- GF_LOG_LEVEL=critical
- GF_FEATURE_TOGGLES_ENABLE=flameGraph
- GF_DIAGNOSTICS_PROFILING_ENABLED=true
volumes:
- ./config/grafana/grafana-provisioning-dashboards.yaml:/etc/grafana/provisioning/dashboards/provisioning-dashboards.yaml:ro
- ./config/grafana/grafana-provisioning-datasources.yaml:/etc/grafana/provisioning/datasources/provisioning-datasources.yaml:ro
- ./config/grafana/lgtm-demo.json:/var/lib/grafana/dashboards/lgtm-demo.json:ro
ports:
- "3000:3000"
mimir:
image: grafana/mimir:2.6.0
command: ["-config.file=/etc/mimir.yaml"]
hostname: mimir
depends_on:
- minio
volumes:
- ./config/mimir.yaml:/etc/mimir.yaml
- mimir-data:/data
loki:
image: grafana/loki:2.7.3
command: "-config.file=/etc/loki/config.yaml"
ports:
- 3101:3100
- 7946
- 9095
volumes:
- ./config/loki.yaml:/etc/loki/config.yaml
depends_on:
- minio
tempo:
image: grafana/tempo:2.0.0
command: [ "-config.file=/etc/tempo.yaml" ]
volumes:
- ./config/tempo.yaml:/etc/tempo.yaml
- tempo-data:/tmp/tempo
ports:
- "14268"
- "4317"
- 3200:3200
depends_on:
- minio
phlare:
image: grafana/phlare:0.1.2
ports:
- 4100:4100
command: -config.file=/etc/phlare/config.yaml
volumes:
- ./config/phlare.yaml:/etc/phlare/config.yaml
- phlare-data:/data
phlare-agent:
image: grafana/phlare:0.1.2
command: ["-config.file=/etc/phlare/agent.yaml", "-log.level=debug"]
depends_on:
- minio
- lb.com
volumes:
- ./config/phlare_agent.yaml:/etc/phlare/agent.yaml
collector:
image: otel/opentelemetry-collector:0.71.0
command: ["--config=/etc/otel-collector-config.yaml"]
volumes:
- ./config/otel-collector-config.yaml:/etc/otel-collector-config.yaml
ports:
- 8889:8889
depends_on:
- tempo
- mimir
collector-contrib:
image: otel/opentelemetry-collector-contrib:0.71.0
command: ["--config=/etc/otel-collector-contrib-config.yaml"]
volumes:
- ./config/otel-collector-contrib-config.yaml:/etc/otel-collector-contrib-config.yaml
- log-data:/var/log
depends_on:
- loki
lb.com:
image: nginx:1.23.1
volumes:
- ./config/nginx.conf:/etc/nginx/nginx.conf:ro
ports:
- 9090:80
depends_on:
- mimir
- loki
- tempo
- phlare
app:
image: songjiayang/prometheus-exemplar:0.0.2
ports:
- 8080:8080
- 6060:6060
volumes:
- log-data:/var/log
depends_on:
- redis
- mysql
- collector
volumes:
mimir-data:
tempo-data:
minio-data:
phlare-data:
log-data: