-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.swarm.yml
142 lines (133 loc) · 2.55 KB
/
docker-compose.swarm.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
130
131
132
133
134
135
136
137
138
139
140
141
142
version: "3.7"
services:
db:
environment:
POSTGRES_DB_FILE: "/run/secrets/db-name"
POSTGRES_USER_FILE: "/run/secrets/db-user"
POSTGRES_PASSWORD_FILE: "/run/secrets/db-pass"
networks:
- db
secrets:
- db-name
- db-user
- db-pass
deploy:
replicas: 1
placement:
constraints:
- "node.role==manager"
resources:
limits:
cpus: '0.75'
memory: 800M
reservations:
cpus: '0.1'
memory: 50M
restart_policy:
condition: on-failure
delay: 1s
app:
image: django-backend_app
environment:
AWS_HOST: 'storage.irandbo.ir'
HOST: 'irandbo.ir'
networks:
- db
- storage
- webserver
secrets:
- secret_key
- access_key
- db-name
- db-user
- db-pass
deploy:
replicas: 1
placement:
constraints:
- "node.role==manager"
resources:
limits:
cpus: '0.9'
memory: 700M
reservations:
cpus: '0.15'
memory: 300M
restart_policy:
condition: on-failure
delay: 1s
update_config:
order: start-first
minio:
networks:
- storage
- webserver
secrets:
- secret_key
- access_key
deploy:
restart_policy:
condition: on-failure
delay: 10s
max_attempts: 10
window: 60s
placement:
constraints:
- "node.role==manager"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
interval: 30s
timeout: 20s
retries: 3
webserver:
image: django-backend_webserver
build:
context: nginx
dockerfile: Dockerfile
networks:
- webserver
ports:
- 80:80
- 443:443
secrets:
- nginx.crt
- nginx.key
- dhparam.pem
deploy:
replicas: 1
placement:
constraints:
- "node.role==manager"
resources:
limits:
cpus: '0.5'
memory: 300M
reservations:
cpus: '0.05'
memory: 15M
restart_policy:
condition: on-failure
delay: 1s
update_config:
order: start-first
secrets:
nginx.crt:
external: true
nginx.key:
external: true
dhparam.pem:
external: true
db-name:
external: true
db-user:
external: true
db-pass:
external: true
secret_key:
external: true
access_key:
external: true
networks:
db:
storage:
webserver: