-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yaml
180 lines (168 loc) · 4.54 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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
version: '3.7'
services:
github_api_prod:
container_name: gh_api-prod
image: gh_api
build:
context: ./api
dockerfile: Dockerfile
environment:
APP_ENV: production
PYTHONPATH: /api/modules
GITHUB_API: https://api.github.com
GITHUB_TRENDING_URL: https://github.com/trending
X_GUNICORN_PORT: 2067
volumes:
- ./api:/api
ports:
- "5067:2067"
networks:
- web-prod
- redis-net
depends_on:
- redis_prod
github_web_nginx:
container_name: gh_client_side-nginx
image: gh_client_side-nginx
build:
context: ./client
dockerfile: Dockerfile
depends_on:
- github_api_prod
ports:
- "80:80"
# - "443:443"
volumes:
- ./client/nginx-conf/nginx.conf:/etc/nginx/nginx.conf
networks:
- web-prod
redis_prod:
image: redis:6.0-rc2
container_name: redis-cache-prod
entrypoint: /redis-cluster.sh
depends_on:
- redis-1
- redis-2
- redis-3
- redis-4
- redis-5
- redis-6
expose:
- 6379
networks:
redis-net:
ipv4_address: 10.0.0.2
volumes:
- redis-data-prod-cluster:/data
- ./redis/redis-cluster.sh:/redis-cluster.sh
redis-1:
build:
context: ./redis
container_name: redis_1
image: redis-nodes
environment:
_REDIS_PORT: 6380
expose:
- 6380
networks:
redis-net:
ipv4_address: 10.0.0.11
volumes:
- ./redis/entrypoint.sh:/source-dir/entrypoint.sh
- ./redis/redis.conf:/source-dir/template.conf
- redis-data-prod-1:/data
redis-2:
build:
context: ./redis
container_name: redis_2
image: redis-nodes
environment:
_REDIS_PORT: 6381
expose:
- 6381
networks:
redis-net:
ipv4_address: 10.0.0.12
volumes:
- ./redis/entrypoint.sh:/source-dir/entrypoint.sh
- ./redis/redis.conf:/source-dir/template.conf
- redis-data-prod-2:/data
redis-3:
build:
context: ./redis
container_name: redis_3
image: redis-nodes
environment:
_REDIS_PORT: 6382
expose:
- 6382
networks:
redis-net:
ipv4_address: 10.0.0.13
volumes:
- ./redis/entrypoint.sh:/source-dir/entrypoint.sh
- ./redis/redis.conf:/source-dir/template.conf
- redis-data-prod-3:/data
redis-4:
build:
context: ./redis
container_name: redis_4
image: redis-nodes
environment:
_REDIS_PORT: 6383
expose:
- 6383
networks:
redis-net:
ipv4_address: 10.0.0.14
volumes:
- ./redis/entrypoint.sh:/source-dir/entrypoint.sh
- ./redis/redis.conf:/source-dir/template.conf
- redis-data-prod-4:/data
redis-5:
build:
context: ./redis
container_name: redis_5
image: redis-nodes
environment:
_REDIS_PORT: 6384
expose:
- 6384
networks:
redis-net:
ipv4_address: 10.0.0.15
volumes:
- ./redis/entrypoint.sh:/source-dir/entrypoint.sh
- ./redis/redis.conf:/source-dir/template.conf
- redis-data-prod-5:/data
redis-6:
build:
context: ./redis
container_name: redis_6
image: redis-nodes
environment:
_REDIS_PORT: 6385
expose:
- 6385
networks:
redis-net:
ipv4_address: 10.0.0.16
volumes:
- ./redis/entrypoint.sh:/source-dir/entrypoint.sh
- ./redis/redis.conf:/source-dir/template.conf
- redis-data-prod-6:/data
networks:
web-prod:
redis-net:
driver: bridge
ipam:
config:
- subnet: 10.0.0.0/16
volumes:
redis-data-prod-1:
redis-data-prod-2:
redis-data-prod-3:
redis-data-prod-4:
redis-data-prod-5:
redis-data-prod-6:
redis-data-prod-cluster: