-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.dev.yml
126 lines (118 loc) · 3.08 KB
/
docker-compose.dev.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
126
version: '3'
services:
otel-collector:
image: otel/opentelemetry-collector:0.90.1
command: [ "--config=/etc/otel-collector.yaml" ]
volumes:
- ./.dev/otel-collector.multitenant.yaml:/etc/otel-collector.yaml
networks:
- microservices
tempo:
image: grafana/tempo:latest
command: [ "-multitenancy.enabled=true", "-config.file=/etc/tempo.yaml" ]
volumes:
- ./.dev/tempo.yaml:/etc/tempo.yaml
- ./tempo-data:/tmp/tempo
networks:
- microservices
ports:
- "3200" # tempo
- "4318" # otlp http
- "4317" # otlp grpc
prometheus:
image: prom/prometheus:latest
command:
- --config.file=/etc/prometheus.yaml
- --web.enable-remote-write-receiver
- --enable-feature=exemplar-storage
volumes:
- ./.dev/prometheus.yaml:/etc/prometheus.yaml
networks:
microservices:
ports:
- "9090:9090"
grafana:
image: grafana/grafana:10.3.1
volumes:
- ./.dev/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
networks:
- microservices
ports:
- "8080:3000"
email_provider:
build:
context: .
dockerfile: ./cmd/email-provider/Dockerfile
container_name: email_provider
ports:
- 4000:4000
expose:
- 4000
networks:
- microservices
environment:
EMAIL_FROM_ADDRESS: email_from_address
EMAIL_FROM_NAME: email_from_name
EMAIL_NAME_TO: email_name_to
EMAIL_TO_ADDRESS: email_to_address
EMAIL_SUBJECT: email_subject
EMAIL_SENDGRID_API_KEY: ${EMAIL_SENDGRID_API_KEY}
entrypoint: [
"/email_provider",
"--port", "4000",
]
discord_provider:
build:
context: .
dockerfile: ./cmd/discord-provider/Dockerfile
container_name: discord_provider
ports:
- 5000:5000
expose:
- 5000
networks:
- microservices
environment:
DISCORD_WEBHOOK_URL: ${DISCORD_WEBHOOK_URL}
entrypoint: [
"/discord_provider",
"--port", "5000",
]
calidum_rotae_service:
build:
context: .
dockerfile: ./cmd/calidum-rotae-service/Dockerfile
container_name: calidum_rotae_service
ports:
- 3000:3000
expose:
- 3000
networks:
- microservices
depends_on:
- email_provider
- discord_provider
environment:
CALIDUM_ROTAE_SERVICE_API_KEY: ${CALIDUM_ROTAE_SERVICE_API_KEY}
entrypoint: [
"/calidum_rotae_service",
"--port", "3000",
"--discord_provider_hostname", "discord_provider",
"--discord_provider_port", "5000",
"--email_provider_hostname", "email_provider",
"--email_provider_port", "4000",
"--otel_otlp_exporter_host", "otel-collector",
"--otel_otlp_exporter_port", "4318",
"--allowed_domains", "http://localhost*",
]
volumes:
grafana_data:
grafana_config:
tempo-data:
networks:
microservices: