-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
129 lines (125 loc) · 2.67 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
126
127
128
129
version: '2.2'
services:
mongo:
image: mongo:4.0
restart: always
volumes:
- mongo-data:/data/db
logging:
driver: 'fluentd'
options:
fluentd-address: 0.0.0.0:24224
tag: default.mongo
networks:
- app-net
ports:
- 127.0.0.1:27017:27017
rabbit:
image: rabbitmq:3-management
restart: always
volumes:
- rabbit-data:/var/lib/rabbitmq:cached
logging:
driver: 'fluentd'
options:
fluentd-address: 0.0.0.0:24224
tag: default.rabbit
networks:
- app-net
env_file:
- .env.rabbit
ports:
- 15672:15672
# Головной nginx - проксирует запросы на api и web
nginx:
image: just1ce/main_nginx:${RELEASE_VERSION:-latest}
build:
context: .
dockerfile: ./services/nginx/Dockerfile
restart: always
logging:
driver: 'fluentd'
options:
fluentd-address: 0.0.0.0:24224
tag: default.nginx
networks:
- app-net
ports:
- 80:80
- 443:443
web:
image: just1ce/nginx_web:${RELEASE_VERSION:-latest}
restart: always
networks:
- app-net
build:
context: .
dockerfile: ./services/web/Dockerfile
logging:
driver: 'fluentd'
options:
fluentd-address: 0.0.0.0:24224
tag: default.web
api:
image: just1ce/taskmanager_api:${RELEASE_VERSION:-latest}
networks:
- app-net
build:
context: .
dockerfile: ./services/api/Dockerfile
restart: always
logging:
driver: 'fluentd'
options:
fluentd-address: 0.0.0.0:24224
tag: json.api
stop_grace_period: 120s
env_file:
- .env
- .env.rabbit
- .env.mongodb
cron:
image: just1ce/taskmanager_cron:${RELEASE_VERSION:-latest}
restart: always
networks:
- app-net
build:
context: .
dockerfile: ./services/cron/Dockerfile
env_file:
- .env
logging:
driver: 'fluentd'
options:
fluentd-address: 0.0.0.0:24224
tag: json.cron
# Консумеры
task-consumer:
shm_size: 1Gb
mem_limit: 2Gb
networks:
- app-net
cap_add:
- SYS_ADMIN
image: just1ce/taskmanager_consumer:${RELEASE_VERSION:-latest}
build:
context: .
dockerfile: ./services/taskConsumer/Dockerfile
scale: 15
stop_grace_period: 120s
stop_signal: SIGINT
restart: always
logging:
driver: 'fluentd'
options:
fluentd-address: 0.0.0.0:24224
tag: json.task-consumer
env_file:
- .env
- .env.rabbit
volumes:
mongo-data:
rabbit-data:
networks:
app-net:
external: true