-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
118 lines (112 loc) · 2.78 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
version: '3.8'
services:
nats:
image: nats:2.9-alpine
ports:
- "4222:4222"
- "8222:8222"
command: ["-js", "-m", "8222"]
volumes:
- ./data/nats/jetstream:/data/jetstream
- ./data/nats/config:/etc/nats
environment:
- JS_STORE_DIR=/data/jetstream
networks:
- app-network
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8222/healthz"]
interval: 5s
timeout: 3s
retries: 3
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- ./data/redis:/data
command: redis-server --appendonly yes
networks:
- app-network
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 3s
retries: 3
jaeger:
image: jaegertracing/all-in-one:latest
ports:
- "16686:16686" # UI
- "14250:14250" # Model
- "4317:4317" # OTLP gRPC
- "4318:4318" # OTLP HTTP
environment:
- COLLECTOR_OTLP_ENABLED=true
networks:
- app-network
healthcheck:
test: [ "CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:16686" ]
interval: 5s
timeout: 3s
retries: 3
click-server:
image: clickplanet/click-server:latest
environment:
- RUST_LOG=debug
command: [
"--nats-url", "nats://nats:4222",
"--redis-url", "redis://redis:6379",
"--otlp-endpoint", "jaeger:4317",
"--service-name", "click-server"
]
ports:
- "3000:3000"
networks:
- app-network
depends_on:
redis:
condition: service_healthy
nats:
condition: service_healthy
jaeger:
condition: service_started
state-click-persister:
image: clickplanet/state-click-persister:latest
environment:
- RUST_LOG=debug
command: [
"--nats-url", "nats://nats:4222",
"--redis-url", "redis://redis:6379",
"--otlp-endpoint", "jaeger:4317",
"--service-name", "click-persister",
"--concurrent-processors", "8",
"--ack-wait-secs", "10"
]
networks:
- app-network
depends_on:
redis:
condition: service_healthy
nats:
condition: service_healthy
jaeger:
condition: service_started
tile-syncer:
image: clickplanet/tile-syncer:latest
environment:
- RUST_LOG=debug
command: [
"--prod-host", "clickplanet.lol",
"--local-host", "click-server", # Use the service name as host
"--local-port", "3000",
"--coordinates-file", "/app/coordinates.json"
]
volumes:
- ./coordinates.json:/app/coordinates.json:ro
networks:
- app-network
depends_on:
click-server:
condition: service_started
networks:
app-network:
driver: bridge