forked from ic-labs/django-icekit
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-cloud.yml
225 lines (225 loc) · 6.86 KB
/
docker-cloud.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
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
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
celery:
# autoredeploy: true
command: 'setup-django.sh celery.sh'
deployment_strategy: high_availability
environment:
- BASE_SETTINGS_MODULE=production
- DOTENV=production
# - EMAIL_HOST=
# - EMAIL_HOST_PASSWORD=
# - EMAIL_HOST_USER=
# - MEDIA_AWS_ACCESS_KEY_ID=
# - MEDIA_AWS_SECRET_ACCESS_KEY=
# - MEDIA_AWS_STORAGE_BUCKET_NAME=
# - PGDATABASE=
# - PGHOST=
# - PGPASSWORD=
# - PGPORT=
# - PGUSER=
# - SENTRY_DSN=
# - SITE_DOMAIN=
# - SITE_NAME=
image: 'interaction/icekit:master'
links:
- elasticsearch
- postgres
- redis
restart: on-failure
tags:
- icekit
volumes:
- /opt/django-icekit/project_template/var
celerybeat:
# autoredeploy: true
command: 'setup-django.sh celerybeat.sh'
deployment_strategy: high_availability
environment:
- BASE_SETTINGS_MODULE=production
- DOTENV=production
# - EMAIL_HOST=
# - EMAIL_HOST_PASSWORD=
# - EMAIL_HOST_USER=
# - MEDIA_AWS_ACCESS_KEY_ID=
# - MEDIA_AWS_SECRET_ACCESS_KEY=
# - MEDIA_AWS_STORAGE_BUCKET_NAME=
# - PGDATABASE=
# - PGHOST=
# - PGPASSWORD=
# - PGPORT=
# - PGUSER=
# - SENTRY_DSN=
# - SITE_DOMAIN=
# - SITE_NAME=
image: 'interaction/icekit:master'
links:
- redis
restart: on-failure
tags:
- icekit
volumes:
- /opt/django-icekit/project_template/var
celeryflower:
# autoredeploy: true
command: 'setup-django.sh celeryflower.sh'
deployment_strategy: high_availability
environment:
- BASE_SETTINGS_MODULE=production
- DOTENV=production
# - EMAIL_HOST=
# - EMAIL_HOST_PASSWORD=
# - EMAIL_HOST_USER=
# - MEDIA_AWS_ACCESS_KEY_ID=
# - MEDIA_AWS_SECRET_ACCESS_KEY=
# - MEDIA_AWS_STORAGE_BUCKET_NAME=
# - PGDATABASE=
# - PGHOST=
# - PGPASSWORD=
# - PGPORT=
# - PGUSER=
# - SENTRY_DSN=
# - SITE_DOMAIN=
# - SITE_NAME=
- VIRTUAL_HOST=https://flower.example.com
expose:
- '5555'
image: 'interaction/icekit:master'
links:
- redis
restart: on-failure
tags:
- icekit
volumes:
- /opt/django-icekit/project_template/var
django:
# autoredeploy: true
command: 'setup-django.sh supervisord.sh'
deployment_strategy: every_node
environment:
- BASE_SETTINGS_MODULE=production
- DOTENV=production
# - EMAIL_HOST=
# - EMAIL_HOST_PASSWORD=
# - EMAIL_HOST_USER=
# - MEDIA_AWS_ACCESS_KEY_ID=
# - MEDIA_AWS_SECRET_ACCESS_KEY=
# - MEDIA_AWS_STORAGE_BUCKET_NAME=
# - PGDATABASE=
# - PGHOST=
# - PGPASSWORD=
# - PGPORT=
# - PGUSER=
# - SENTRY_DSN=
# - SITE_DOMAIN=
# - SITE_NAME=
- VIRTUAL_HOST=https://www.example.com
expose:
- '8000'
image: 'interaction/icekit:master'
links:
- celery
- celerybeat
- celeryflower
- elasticsearch
- postgres
- redis
restart: on-failure
tags:
- icekit
volumes:
- /opt/django-icekit/project_template/var
elasticsearch:
# autoredeploy: true
image: 'interaction/elasticsearch-icu:1-alpine'
restart: on-failure
tags:
- icekit
haproxy:
# autoredeploy: true
environment:
- |
DEFAULT_SSL_CERT=-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEA3cp1UqMNJMWoHsFXWYGV080Rg8jLnhLMRFYHuF8ER56TOEi0
YAkEQ0uuhDzmeqjfOBWvq7UN0n/EQ1RkLaILp+De01qC4DpsEi9fa47OlSYnkffL
rvumJQugevruphnE9hRPd8wTXwT9Psr9qpj/6o/YmlqIBo5AhWH+TKZpoYdczuKP
qPfeUueZI13BdLvtIyamh5VLpIT1z1lgLTi1V0ndPaYSlJu+ZHKp33ZfAXPtdtiW
ZX3LAkKq/F060vYALKECaMzraoF8hoVFw1XhoiZfD+uMzrEoicSSDNPzf61YR66B
0HfEAsa5DnKXYmdz6/SiCJeC5PUNoHa/UtpKgwIDAQABAoIBAQDBIGl28sogKgkR
9tND+kXn71qAAZnkZIQAQVVpoztLzfZt/Ukrks5mdwFY3trnFiOBZ8jXYMnPcTgK
VPMClWdG4NXG/rqV2+l9EEkrlGeoklfEkByJm1F6UpyEWfrzId9TVC46p7Z6eBK4
2fN22NGHg4heJ9TouHfQbZsNTZ8Pafpqg/lCyoDVr3nWji09IsofQLupas59dZxa
zzTjEDmiNW20ntid9Vfm+Cnv91mvbZIXJqSIQVaTWA524bG9Myx4qTfgWUM8kmrS
jGg7hMa7jQ/gi44QlqJ4fRuG7dJnraI393I+32KU+n1TMRQxkD7kgAsatafser7n
QlZBTxlxAoGBAP7JHW0bj8BKoPbyEa3j7v2JcLp3Lankktu8UAGbZWO4EQ3tuwQ7
hkubSjw1tQB7PJ3R62rsxR0/nbPUWkaseh4hRDEM2xl4HStt482TGklJZxhYLPCr
ga3hAIbbV6tceaH8Lwf6UymPXj7xchTXoGE9R2H61du4Bp31uQLjpRKrAoGBAN7Z
FW4Z9Qy89barulCxv+86WCg2CjUvGk0j/bGfE5O3UNGr7DLrGg+BdWc+PTpfeotV
6qCwpfyNlg86a9LWjbYuc/6MUg3/H+LhhQ5yIH+x43VBvntIGzGBl4L2sgo7yzig
jZw3JiBi52oqyj3Zq47+Z+rEkttw1jb9ywVrAeeJAoGAYQk3q9ZTaWkC5QpMsW2e
F/HAfUPmoE3toMKXtgT5GIGB/UwNbg89lo4ON+A8j3JgI7tPbem/KOSRq2u09jW6
TL9euU+sIocclO3FVQYxfLf4C82JUCABw7dt++6N9TXDHW5uextbkPiJbG+Ig2ec
LWypQyfFS2lLG936GJ+avwECgYEAr8wo77Zibi4S2IwYatgORbaNHQukedgys3AV
Di4jz3/prb4mkvSMlnbWGyAqRQZVMd4RPbqc9uLq4hCARs8i8/kpYEFp6ci9asnl
oUO/B31ZpoK6tZ5odWF6GMJsKU6KPp3JmNaYqSvcyw/+g1RX1nIzoCx6fcpB8xe7
NQb5daECgYEAsuWv71VGelB9wYuwGIrKbAPFerHcnrrV+bxEc5wYvnU5JmgvKJkV
IKqvappKHJeqRJl43HZAkIauNrKTgu9peA4IXDUYwyHarbd6q3lHvpYbkZead/s/
fn736AJQ0OYLG59UA/xoxQQsGsmDbHCEASzTQ2uWbt1+P3LF4oMCnOM=
-----END RSA PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
MIIDCDCCAfCgAwIBAgIJAPP3kRKrMYHmMA0GCSqGSIb3DQEBBQUAMAwxCjAIBgNV
BAMUASowHhcNMTcwNDEzMDc0MDA3WhcNMTcwNTEzMDc0MDA3WjAMMQowCAYDVQQD
FAEqMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA3cp1UqMNJMWoHsFX
WYGV080Rg8jLnhLMRFYHuF8ER56TOEi0YAkEQ0uuhDzmeqjfOBWvq7UN0n/EQ1Rk
LaILp+De01qC4DpsEi9fa47OlSYnkffLrvumJQugevruphnE9hRPd8wTXwT9Psr9
qpj/6o/YmlqIBo5AhWH+TKZpoYdczuKPqPfeUueZI13BdLvtIyamh5VLpIT1z1lg
LTi1V0ndPaYSlJu+ZHKp33ZfAXPtdtiWZX3LAkKq/F060vYALKECaMzraoF8hoVF
w1XhoiZfD+uMzrEoicSSDNPzf61YR66B0HfEAsa5DnKXYmdz6/SiCJeC5PUNoHa/
UtpKgwIDAQABo20wazAdBgNVHQ4EFgQUWSM9qh5CT131fgoPp/FmBWJ8laswPAYD
VR0jBDUwM4AUWSM9qh5CT131fgoPp/FmBWJ8lauhEKQOMAwxCjAIBgNVBAMUASqC
CQDz95ESqzGB5jAMBgNVHRMEBTADAQH/MA0GCSqGSIb3DQEBBQUAA4IBAQANXwsX
3taLmVbiZLF1MNAF7jsxnrOAavg9lc85Ov1Qr+Z60+AJ44CaJtB1hg7UvkICRLQ8
LNjF4pwV+/Y0h4+lD5V5fMXa1SweWEXlsrHw7FjsuaYwFiHcU+2/CZQAH2Wc1m/N
V2z1mSHDMQOskPFLbeEjnZqLREc01V/XgqsBKxuCgXuI6lntRAGvIGek29As1CE2
TVdnUT+rr6PU2Bl5+yKQQCvXJ3fx0rlNGuf6sQkryywYMtONWk8gVgk3IC4rLMiL
s3KYY2u5A8AT6CJoeYFKdB38ydKA0OusVDR/9Ply+30EO8OfCB1jCY8hyXFjGtpb
HCbQSupHz2fuF5ka
-----END CERTIFICATE-----
image: 'dockercloud/haproxy:1.6.3'
links:
- celeryflower
- django
ports:
- '443:443'
restart: on-failure
roles:
- global
tags:
- icekit
volumes_from:
- letsencrypt
letsencrypt:
environment:
- DOMAINS=www.example.com,flower.example.com
- 'HAPROXY_IMAGE=dockercloud/haproxy:1.6.3'
image: 'interaction/letsencrypt:standalone'
ports:
- '80:80'
roles:
- global
tags:
- icekit
volumes:
- /var/run/docker.sock:/var/run/docker.sock
postgres:
# autoredeploy: true
image: 'postgres:9.4-alpine'
restart: on-failure
tags:
- icekit
redis:
# autoredeploy: true
command: 'redis-server --appendonly yes'
image: 'redis:3-alpine'
restart: on-failure
tags:
- icekit