-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
115 lines (103 loc) · 2.73 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
# https://stackoverflow.com/questions/67498836/docker-chown-changing-ownership-of-data-db-operation-not-permitted
services:
app-golang:
build:
context: golang
container_name: app-golang
ports:
- 8080:8080
depends_on:
- mongodb
- grafana
app-dotnet:
build:
context: dotnet
container_name: app-dotnet
environment:
- OTLP_HOSTNAME=opentelemetry
ports:
- 8081:8080
app-python:
build:
context: python
container_name: app-python
ports:
- 8082:8080
# ---
mongodb:
image: mongo:8.0.3
container_name: mongodb
environment:
- MONGO_INITDB_ROOT_USERNAME=root
- MONGO_INITDB_ROOT_PASSWORD=Password123
- MONGO_INITDB_DATABASE=Data
ports:
- 27017
volumes:
- mongodb-data:/data/db
- ./docker-compose/mongo/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
grafana:
image: grafana/grafana:11.3.0
container_name: grafana
restart: unless-stopped
ports:
- 3000:3000
environment:
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
- GF_AUTH_DISABLE_LOGIN_FORM=true
- GF_SECURITY_ALLOW_EMBEDDING=true
- GF_FEATURE_TOGGLES_ENABLE=tempoBackendSearch,tempoSearch,tempoServiceGraph
volumes:
- ./docker-compose/grafana/grafana-datasources.yaml:/etc/grafana/provisioning/datasources/datasources.yaml
prometheus:
image: prom/prometheus:v2.55.0
container_name: prometheus
restart: unless-stopped
ports:
- 9090:9090
command: [ "--config.file=/etc/prometheus/prometheus.yaml" ]
depends_on:
- grafana
volumes:
- ./docker-compose/prometheus/prometheus.yaml:/etc/prometheus/prometheus.yaml
tempo:
image: grafana/tempo:2.6.1
container_name: tempo
ports:
- 3200 # tempo http
- 3201 # tempo grpc
- 4317 # otlp grpc
- 4318 # otlp http
command: [ "-config.file=/etc/tempo.yaml" ]
depends_on:
- grafana
volumes:
- ./docker-compose/tempo/tempo.yaml:/etc/tempo.yaml
loki:
image: grafana/loki:3.1.2
container_name: loki
restart: unless-stopped
ports:
- 3100 # loki http
- 9095 # loki grpc
command: [ "-config.file=/etc/loki.yaml" ]
depends_on:
- grafana
volumes:
- ./docker-compose/loki/loki.yaml:/etc/loki.yaml
# ---
opentelemetry:
image: otel/opentelemetry-collector:0.112.0
container_name: opentelemetry
restart: unless-stopped
ports:
- 4317 # otlp grpc
- 4318 # otlp http
command: --config=/etc/opentelemetry/config.yaml
depends_on:
- grafana
volumes:
- ./docker-compose/opentelemetry/config.yaml:/etc/opentelemetry/config.yaml
volumes:
mongodb-data: