-
Notifications
You must be signed in to change notification settings - Fork 5
/
docker-compose.yml
125 lines (125 loc) · 3.65 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
services:
krakend_ee:
# The :watch image restarts the service automatically when the configuration files change.
# Do not use this image in production, it's meant to speed up your testing and development.
image: krakend/krakend-ee:2.7-watch
volumes:
- ./config/krakend:/etc/krakend
- ./dumps:/tmp/krakend-http-logger
- ./images/grpc/defs:/etc/krakend/grpc_catalog
- ./data:/wwwroot
ports:
- "1234:1234"
- "8080:8080"
command: ["run", "-d", "-c", "krakend.json"]
# Uncomment to automatically compile using flexible configuration
#command: ["run", "-d", "-c", "./extended/krakend.tmpl"]
#environment:
# - "FC_CONFIG=/etc/krakend/fc_config.json"
# - "FC_DEBUG=true"
depends_on:
- jaeger
- chat
grafana:
image: grafana/grafana:latest
ports:
- "4000:3000"
volumes:
- "./config/telemetry-dashboards/grafana/datasources/prometheus-tempo.yml:/etc/grafana/provisioning/datasources/prometheus-tempo.yml"
- "./config/telemetry-dashboards/grafana/krakend/for-prometheus.json:/var/lib/grafana/dashboards/krakend/for-prometheus.json"
- "./config/telemetry-dashboards/grafana/dashboards/all.yml:/etc/grafana/provisioning/dashboards/all.yml"
environment:
- GF_SECURITY_ADMIN_USER=krakend
- GF_SECURITY_ADMIN_PASSWORD=krakend
prometheus:
image: prom/prometheus:latest
ports:
- "9090:9090"
volumes:
- "./config/telemetry-dashboards/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml"
tempo:
image: grafana/tempo:latest
domainname: tempo
command: [ "-config.file=/etc/tempo.yaml" ]
volumes:
- "./config/telemetry-dashboards/tempo/tempo.yaml:/etc/tempo.yaml"
ports:
- "3200:3200" # tempo
- "9095:9095" # tempo grpc
- "54317:4317" # otlp grpc
- "54318:4318" # otlp http
jaeger:
image: jaegertracing/all-in-one:1
environment:
- "COLLECTOR_OTLP_ENABLED=true"
ports:
- "16686:16686"
- "14268:14268"
- "64317:4317" # otlp grpc
- "64318:4318" # otlp grpc
elasticsearch:
image: elasticsearch:8.4.1
environment:
- "discovery.type=single-node"
- "xpack.security.enabled=false"
- "xpack.security.transport.ssl.enabled=false"
- "xpack.security.http.ssl.enabled=false"
- "ES_JAVA_OPTS=-Xms1024m -Xmx1024m"
ports:
- "19200:9200"
- "9300:9300"
kibana:
image: kibana:8.4.1
ports:
- "5601:5601"
logstash:
image: logstash:8.4.1
ports:
- "12201:12201/udp"
- "5044:5044"
environment:
- "xpack.monitoring.elasticsearch.url=http://elasticsearch:9200"
volumes:
- ./config/telemetry-dashboards/logstash/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
command: ["-f", "/usr/share/logstash/pipeline/logstash.conf"]
rabbitmq:
image: rabbitmq:3-management
# Login with guest/guest
ports:
- "15672:15672"
- "5672:5672"
fake_api:
image: busybox:latest
volumes:
- ./data:/var/www
ports:
- "8000:80"
command: httpd -f -h /var/www/
web:
build:
context: images/spa-auth-web
ports:
- "3000:3000"
revoker:
image: krakend/krakend-ee:2.6
ports:
- 8081:8081
volumes:
- "./config/krakend:/etc/krakend"
command: ["revoker", "-c", "revoker.json"]
depends_on:
- krakend_ee
restart: always
grpc_flights:
image: krakend/grpc_flights_fake:latest
ports:
- "4242:4242"
grpc_trains:
image: krakend/grpc_trains_fake:latest
ports:
- "4243:4243"
chat:
build:
context: images/websocket/chat
ports:
- "4245:8888"