-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
87 lines (83 loc) · 2.2 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
version: "3"
services:
otel_collector:
image: docker.io/otel/opentelemetry-collector:latest
volumes:
- ./docker/otel_collector/otel-collector-config.yaml:/etc/otel-collector-config.yaml
ports:
- "4317:4317"
- "4318:4318"
# networks:
# - devcontainer
# - default
command: ["--config=/etc/otel-collector-config.yaml"]
mongo:
image: docker.io/mongo:latest
ports:
- "27017:27017"
networks:
- devcontainer
- default
application:
build:
context: .
dockerfile: Dockerfile
ports:
- "8000:8000"
# networks:
# - devcontainer
# - default
# 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.
init:
image: &tempoImage docker.io/grafana/tempo:latest
user: root
entrypoint:
- "chown"
- "10001:10001"
- "/var/tempo"
volumes:
- ./docker/tempo/data:/var/tempo
tempo:
image: *tempoImage
command: [ "-config.file=/etc/tempo.yaml" ]
volumes:
- ./docker/tempo/tempo.yaml:/etc/tempo.yaml
- ./docker/tempo/data:/var/tempo
ports:
- "14268" # jaeger ingest
- "3200" # tempo
- "4317" # otlp grpc
- "4318" # otlp http
- "9411" # zipkin
depends_on:
- init
prometheus:
image: docker.io/prom/prometheus:latest
command:
- --config.file=/etc/prometheus.yaml
- --web.enable-remote-write-receiver
- --enable-feature=exemplar-storage
- --enable-feature=native-histograms
- --web.enable-otlp-receiver
volumes:
- ./docker/prometheus/prometheus.yaml:/etc/prometheus.yaml
ports:
- "9090:9090"
grafana:
image: docker.io/grafana/grafana:latest
volumes:
- ./docker/grafana/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
- GF_AUTH_DISABLE_LOGIN_FORM=true
- GF_FEATURE_TOGGLES_ENABLE=traceqlEditor
ports:
- "3000:3000"
depends_on:
- tempo
- prometheus
# networks:
# devcontainer:
# driver: bridge