-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
126 lines (124 loc) · 2.95 KB
/
docker-compose.yaml
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
volumes:
minio:
mongo:
services:
# http://127.0.0.1:9001/
# minioadmin:minioadmin
minio:
image: minio/minio:latest
command: server /data --console-address ":9001"
ports:
- 127.0.0.1:9000:9000/tcp
- 127.0.0.1:9001:9001/tcp
volumes:
- minio:/data
mongo:
image: mongo:latest
ports:
- 127.0.0.1:27017:27017/tcp
volumes:
- mongo:/data/db
caddy:
image: caddy:2
ports:
- "8081:8081/tcp"
volumes:
- ./clients:/data/clients:ro,z
configs:
- source: Caddyfile
target: /etc/caddy/Caddyfile
valkey:
image: valkey/valkey
ports:
- 6379:6379/tcp
mosquitto:
image: eclipse-mosquitto:latest
restart: unless-stopped
ports:
- 127.0.0.1:1883:1883/tcp
configs:
- source: mosquitto.conf
target: /mosquitto/config/mosquitto.conf
otel-collector:
image: otel/opentelemetry-collector:latest
command: ["--config=/etc/otel-collector-config.yaml"]
ports:
- "4317:4317" # OTLP gRPC receiver
- "4318:4318" # OTLP HTTP receiver
- "8888:8888" # Prometheus metrics exposed by the collector
- "8889:8889" # Prometheus exporter metrics
configs:
- source: otel-collector-config.yaml
target: /etc/otel-collector-config.yaml
jaeger-all-in-one:
# http://127.0.0.1:16686
image: jaegertracing/all-in-one:latest
ports:
- "16686:16686"
- "14268"
- "14250"
prometheus:
# http://127.0.0.1:9090
image: prom/prometheus:latest
ports:
- "9090:9090"
configs:
- source: prometheus.yaml
target: /etc/prometheus/prometheus.yml
configs:
mosquitto.conf:
content: |
listener 1883
allow_anonymous true
Caddyfile:
content: |
http://localhost:8081 {
encode gzip
root /data/clients
file_server
log {
output stdout
}
}
otel-collector-config.yaml:
content: |
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
exporters:
debug:
verbosity: detailed
otlp:
endpoint: jaeger-all-in-one:4317
tls:
insecure: true
prometheus:
endpoint: "0.0.0.0:8889"
processors:
batch:
service:
pipelines:
traces:
receivers: [otlp]
processors: [batch]
exporters: [debug, otlp]
metrics:
receivers: [otlp]
processors: [batch]
exporters: [debug, prometheus]
logs:
receivers: [otlp]
processors: [batch]
exporters: [debug]
prometheus.yaml:
content: |
scrape_configs:
- job_name: 'otel-collector'
scrape_interval: 10s
static_configs:
- targets: ['otel-collector:8889']
- targets: ['otel-collector:8888']