-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yaml
116 lines (108 loc) · 2.92 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
version: '3.8'
networks:
test-networks:
volumes:
postgres_data:
services:
# Database storage
db:
container_name: db-nest
image: postgres:14.3-alpine
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- 5432:5432
environment:
- POSTGRES_USER=test
- POSTGRES_PASSWORD=test
- POSTGRES_DB=db-test
networks:
- test-networks
# Redis for cached
redis:
container_name: redis-nest
image: redis:6
command: redis-server /usr/local/etc/redis/redis.conf
ports:
- 6379:6379
volumes:
- ./docker/config/redis/redis.conf:/usr/local/etc/redis/redis.conf
networks:
- test-networks
# Tempo for tracing
tempo:
container_name: tempo-nest
image: grafana/tempo:latest
command: [ "-config.file=/etc/tempo.yaml" ]
volumes:
- ./docker/etc/tempo-local.yaml:/etc/tempo.yaml
- ./docker/data/tempo-data:/tmp/tempo
ports:
- "14268:14268" # jaeger ingest, Jaeger - Thrift HTTP
- "14250:14250" # Jaeger - GRPC
- "3200:3200" # tempo
- "9095:9095" # tempo grpc
- "4317:4317" # otlp grpc
- "4318:4318" # otlp http
- "9411:9411" # zipkin
networks:
- test-networks
# Scrapped the metrics
prometheus:
container_name: prometheus-nest
image: prom/prometheus:latest
volumes:
- ./docker/etc/prometheus.yaml:/etc/prometheus.yaml
entrypoint:
- /bin/prometheus
- --config.file=/etc/prometheus.yaml
- --web.enable-remote-write-receiver
ports:
- "9090:9090"
networks:
- test-networks
# Scrapped the logging
loki:
container_name: loki-nest
image: grafana/loki:2.8.0
ports:
- "3100:3100"
user: "0"
command: -config.file=/etc/loki/loki-local.yaml
environment:
- JAEGER_AGENT_HOST=tempo
- JAEGER_ENDPOINT=http://tempo:14268/api/traces # send traces to Tempo
- JAEGER_SAMPLER_TYPE=const
- JAEGER_SAMPLER_PARAM=1
volumes:
- ./docker/etc/loki-local.yaml:/etc/loki/loki-local.yaml
- ./docker/data/loki-data:/tmp/loki
networks:
- test-networks
promtail:
container_name: promtail-nest
image: grafana/promtail:2.8.0
volumes:
- /var/log:/var/log
command: -config.file=/etc/promtail/config.yml
networks:
- test-networks
grafana:
container_name: grafana-nest
image: grafana/grafana:latest
volumes:
- ./docker/data/grafana-data/datasources:/etc/grafana/provisioning/datasources
- ./docker/data/grafana-data/dashboards-provisioning:/etc/grafana/provisioning/dashboards
- ./docker/data/grafana-data/dashboards:/var/lib/grafana/dashboards
environment:
- GF_PATHS_PROVISIONING=/etc/grafana/provisioning
- GF_AUTH_ANONYMOUS_ENABLED=true
- GF_AUTH_ANONYMOUS_ORG_ROLE=Admin
ports:
- "3000:3000"
depends_on:
- prometheus
- tempo
- loki
networks:
- test-networks