-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcompose.yaml
103 lines (98 loc) · 3.2 KB
/
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
networks:
rated_network:
driver: bridge
services:
rated_api:
container_name: rated_api
image: rated_api
build:
context: ./
dockerfile: ./src/api/Dockerfile
ports:
- "8000:8000"
depends_on:
- log_processor
- rated_db
volumes:
- ./src/api:/api
environment:
- INFLUXDB_URL=${INFLUXDB_URL}
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${DOCKER_INFLUXDB_INIT_ADMIN_TOKEN}
- DOCKER_INFLUXDB_INIT_BUCKET=${DOCKER_INFLUXDB_INIT_BUCKET}
- DOCKER_INFLUXDB_INIT_ORG=${DOCKER_INFLUXDB_INIT_ORG}
networks:
- rated_network
restart: unless-stopped
log_processor:
image: log_processor
container_name: log_processor
build:
context: ./
dockerfile: ./src/log_processor/Dockerfile
environment:
- INFLUXDB_URL=${INFLUXDB_URL}
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${DOCKER_INFLUXDB_INIT_ADMIN_TOKEN}
- DOCKER_INFLUXDB_INIT_ORG=${DOCKER_INFLUXDB_INIT_ORG}
- DOCKER_INFLUXDB_INIT_BUCKET=${DOCKER_INFLUXDB_INIT_BUCKET}
- LOG_BATCH_SIZE=${LOG_BATCH_SIZE}
- LOG_INTERVAL_SECONDS=${LOG_INTERVAL_SECONDS}
- LOG_FILE_PATH=${LOG_FILE_PATH}
- STREAM_MAX_SIZE=${STREAM_MAX_SIZE}
- STREAM_MAX_WAIT_TIME_IN_SECONDS=${STREAM_MAX_WAIT_TIME_IN_SECONDS}
- LOGGING_LEVEL=${LOGGING_LEVEL}
depends_on:
- rated_db
volumes:
- ./src/log_processor/:/log_processor/
- ./src/log_generator/${LOG_FILE_PATH}:/log_generator/${LOG_FILE_PATH}
networks:
- rated_network
restart: unless-stopped
log_generator:
image: log_generator
container_name: log_generator
build:
context: ./
dockerfile: ./src/log_generator/Dockerfile
environment:
LOG_BATCH_SIZE: ${LOG_BATCH_SIZE}
LOG_INTERVAL_SECONDS: ${LOG_INTERVAL_SECONDS}
LOG_FILE_PATH: ${LOG_FILE_PATH}
MAX_LOGS_TO_GENERATE: ${MAX_LOGS_TO_GENERATE}
volumes:
- ./src/log_generator/:/log_generator/
networks:
- rated_network
restart: no
rated_db:
container_name: rated_db
image: influxdb:2
build:
context: ./
ports:
- 8086:8086
environment:
- DOCKER_INFLUXDB_INIT_MODE=${DOCKER_INFLUXDB_INIT_MODE}
- DOCKER_INFLUXDB_INIT_USERNAME=${DOCKER_INFLUXDB_INIT_USERNAME}
- DOCKER_INFLUXDB_INIT_PASSWORD=${DOCKER_INFLUXDB_INIT_PASSWORD}
- DOCKER_INFLUXDB_INIT_ORG=${DOCKER_INFLUXDB_INIT_ORG}
- DOCKER_INFLUXDB_INIT_BUCKET=${DOCKER_INFLUXDB_INIT_BUCKET}
- DOCKER_INFLUXDB_INIT_RETENTION=${DOCKER_INFLUXDB_INIT_RETENTION}
- DOCKER_INFLUXDB_INIT_ADMIN_TOKEN=${DOCKER_INFLUXDB_INIT_ADMIN_TOKEN}
- DOCKER_INFLUXDB_INIT_ADMIN_USER=${DOCKER_INFLUXDB_INIT_ADMIN_USER}
- DOCKER_INFLUXDB_INIT_ADMIN_PASSWORD=${DOCKER_INFLUXDB_INIT_ADMIN_PASSWORD}
- INFLUXDB_HTTP_AUTH_ENABLED=${INFLUXDB_HTTP_AUTH_ENABLED}
volumes:
- ./influx-volume/data:/var/lib/influxdb2
- ./influx-volume/config:/etc/influxdb2
networks:
- rated_network
restart: unless-stopped
healthcheck:
test: [ "CMD", "curl", "-f", "http://localhost:8086/health" ]
interval: 10s
timeout: 5s
retries: 5
volumes:
influxdb2-data:
influxdb2-config: