-
Notifications
You must be signed in to change notification settings - Fork 47
/
Copy pathdocker-compose.yaml
140 lines (139 loc) · 4.31 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
127
128
129
130
131
132
133
134
135
136
137
138
139
140
version: "3.9"
services:
rabbitmq:
image: rabbitmq:3.8.34-management-alpine #management version needed to be able to have a User interface
container_name: rabbitmq
ports:
- 5672:5672
- 15672:15672
volumes:
- ./tools/rabbitmq/rabbitmq.conf:/etc/rabbitmq/rabbitmq.conf
- ./tools/rabbitmq/definitions.json:/etc/rabbitmq/definitions.json
- ./tools/rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins
consul:
image: hashicorp/consul
container_name: consul
ports:
- 8500:8500 # this is the UI/API calls
- 8400:8400
- 8600:8600
- 8600:8600/udp
vault:
image: hashicorp/vault:latest
container_name: vault
ports:
- 8200:8200
environment:
VAULT_ADDR: "http://127.0.0.1:8200"
# in production scenarios the token mechanisim for loggin will be forbidden,
# it cannot be in source control.
VAULT_TOKEN: "vault-distribt-token" # to be able to use the cli on dev
VAULT_DEV_ROOT_TOKEN_ID: "vault-distribt-token"
cap_add:
- IPC_LOCK
depends_on:
- rabbitmq
- consul
#########################
# Graylog configuration #
#########################
# mongo should be called mongo
mongo:
container_name: mongo_graylog
image: mongo:4.2
elasticsearch:
container_name: elasticserach_graylog
image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
environment:
- http.host=0.0.0.0
- transport.host=localhost
- network.host=0.0.0.0
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
ulimits:
memlock:
soft: -1
hard: -1
deploy:
resources:
limits:
memory: 1g
graylog:
image: graylog/graylog:4.2.5
container_name: graylog
environment:
# at least 16 characters
- GRAYLOG_PASSWORD_SECRET=thispassshouldbeatleast16characters
# Password: admin
- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918
- GRAYLOG_HTTP_EXTERNAL_URI=http://localhost:9000/
entrypoint: /usr/bin/tini -- wait-for-it elasticsearch:9200 -- /docker-entrypoint.sh
depends_on:
- mongo
- elasticsearch
ports:
- 9000:9000 # Graylog web interface and REST API
- 1514:1514
- 1514:1514/udp
- 12201:12201
- 12201:12201/udp
#############################
# Graylog configuration end #
#############################
mongodb:
image: mongo:latest
container_name: MongoDb
ports:
- 27017:27017
environment:
- MONGO_INITDB_ROOT_USERNAME=distribtUser
- MONGO_INITDB_ROOT_PASSWORD=distribtPassword
- MONGO_INITDB_DATABASE=distribt
volumes:
- ./tools/mongodb/mongo-init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
mysql:
image: mysql:8.0
container_name: MySql
environment:
MYSQL_DATABASE: 'distribt'
MYSQL_USER: 'distribtUser'
MYSQL_PASSWORD: 'distribtPassword'
MYSQL_ROOT_PASSWORD: 'distribtRootPassword'
ports:
# de normal seria 3306:3306 pero tengo el 3306 ocupado en mi máquina personal.
- 3307:3306
volumes:
- ./tools/mysql/init.sql:/docker-entrypoint-initdb.d/init.sql
opentelemetry-collector:
image: otel/opentelemetry-collector:latest
container_name: open_telemetry_collector
command: [ "--config=/etc/otel-collector-config.yaml" ]
volumes:
- ./tools/telemetry/otel-collector-config.yaml:/etc/otel-collector-config.yaml
- ./tools/telemetry/logs:/etc/output:rw # Store the logs (not commited in git)
ports:
- "8888:8888" # Prometheus metrics exposed by the collector
- "8889:8889" # Prometheus exporter metrics
- "4317:4317" # OTLP gRPC receiver
prometheus:
image: bitnami/prometheus
container_name: prometheus
volumes:
- ./tools/telemetry/prometheus.yaml:/etc/prometheus/prometheus.yml
ports:
- 9090:9090
grafana:
image: grafana/grafana
container_name: grafana
environment:
- GF_SECURITY_ADMIN_USER=admin
- GF_SECURITY_ADMIN_PASSWORD=admin
- GF_USERS_ALLOW_SIGN_UP=false
volumes:
- ./tools/telemetry/grafana_datasources.yaml:/etc/grafana/provisioning/datasources/all.yaml
ports:
- 3000:3000
zipkin:
container_name: zipkin-traces
image: openzipkin/zipkin:latest
ports:
- "9411:9411"