Skip to content

Commit e23c6da

Browse files
authored
Merge pull request laradock#717 from zeroc0d3/proxy
Merge with Proxy branch
2 parents 170a1ef + b58f859 commit e23c6da

13 files changed

Lines changed: 633 additions & 15 deletions

File tree

certbot/Dockerfile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
FROM phusion/baseimage:latest
22

3+
MAINTAINER Mahmoud Zalt <mahmoud@zalt.me>
4+
35
COPY run-certbot.sh /root/certbot/run-certbot.sh
46

57
RUN apt-get update

docker-compose.yml

Lines changed: 132 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -37,10 +37,13 @@ services:
3737
volumes_from:
3838
- applications
3939
extra_hosts:
40-
- "dockerhost:${DOCKER_HOST_IP}"
40+
- "dockerhost:${DOCKER_HOST_IP}"
4141
ports:
42-
- "${WORKSPACE_SSH_PORT}:22"
42+
- "${WORKSPACE_SSH_PORT}:22"
4343
tty: true
44+
networks:
45+
- frontend
46+
- backend
4447

4548
### PHP-FPM Container #######################################
4649

@@ -72,6 +75,8 @@ services:
7275
- "dockerhost:${DOCKER_HOST_IP}"
7376
environment:
7477
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
78+
networks:
79+
- backend
7580

7681
### PHP Worker Container #####################################
7782
php-worker:
@@ -81,6 +86,8 @@ services:
8186
- applications
8287
depends_on:
8388
- workspace
89+
networks:
90+
- backend
8491

8592
### Nginx Server Container ##################################
8693

@@ -90,15 +97,18 @@ services:
9097
args:
9198
- PHP_UPSTREAM=php-fpm
9299
volumes_from:
93-
- applications
100+
- applications
94101
volumes:
95-
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
96-
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
102+
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
103+
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
97104
ports:
98-
- "${NGINX_HOST_HTTP_PORT}:80"
99-
- "${NGINX_HOST_HTTPS_PORT}:443"
105+
- "${NGINX_HOST_HTTP_PORT}:80"
106+
- "${NGINX_HOST_HTTPS_PORT}:443"
100107
depends_on:
101-
- php-fpm
108+
- php-fpm
109+
networks:
110+
- frontend
111+
- backend
102112

103113
### Apache Server Container #################################
104114

@@ -117,6 +127,9 @@ services:
117127
- "${APACHE_HOST_HTTPS_PORT}:443"
118128
depends_on:
119129
- php-fpm
130+
networks:
131+
- frontend
132+
- backend
120133

121134
### HHVM Container ##########################################
122135

@@ -128,6 +141,9 @@ services:
128141
- "9000"
129142
depends_on:
130143
- workspace
144+
networks:
145+
- frontend
146+
- backend
131147

132148
### Minio Container #########################################
133149

@@ -140,6 +156,8 @@ services:
140156
environment:
141157
- MINIO_ACCESS_KEY=access
142158
- MINIO_SECRET_KEY=secretkey
159+
networks:
160+
- frontend
143161

144162
### MySQL Container #########################################
145163

@@ -155,8 +173,10 @@ services:
155173
- mysql:/var/lib/mysql
156174
ports:
157175
- "${MYSQL_PORT}:3306"
176+
networks:
177+
- backend
158178

159-
### MsSQL Container #########################################
179+
### MSSQL Container #########################################
160180

161181
mssql:
162182
build:
@@ -169,6 +189,8 @@ services:
169189
- mssql:/var/opt/mssql
170190
ports:
171191
- "${MSSQL_PORT}:1433"
192+
networks:
193+
- backend
172194

173195
### MariaDB Container #######################################
174196

@@ -183,6 +205,8 @@ services:
183205
- MYSQL_USER=${MARIADB_USER}
184206
- MYSQL_PASSWORD=${MARIADB_PASSWORD}
185207
- MYSQL_ROOT_PASSWORD=${MARIADB_PORT}
208+
networks:
209+
- backend
186210

187211
### PostgreSQL Container ####################################
188212

@@ -196,6 +220,8 @@ services:
196220
- POSTGRES_DB=${POSTGRES_DB}
197221
- POSTGRES_USER=${POSTGRES_USER}
198222
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
223+
networks:
224+
- backend
199225

200226
### PostgreSQL PostGis Container ############################
201227

@@ -209,6 +235,8 @@ services:
209235
- POSTGRES_DB=${POSTGRES_DB}
210236
- POSTGRES_USER=${POSTGRES_USER}
211237
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
238+
networks:
239+
- backend
212240

213241
### Neo4j Container #########################################
214242

@@ -221,6 +249,8 @@ services:
221249
- NEO4J_AUTH=default:secret
222250
volumes:
223251
- neo4j:/var/lib/neo4j/data
252+
networks:
253+
- backend
224254

225255
### MongoDB Container #######################################
226256

@@ -230,6 +260,8 @@ services:
230260
- "27017:27017"
231261
volumes:
232262
- mongo:/data/db
263+
networks:
264+
- backend
233265

234266
### RethinkDB Container #######################################
235267

@@ -239,6 +271,8 @@ services:
239271
- "8090:8080"
240272
volumes:
241273
- rethinkdb:/data/rethinkdb_data
274+
networks:
275+
- backend
242276

243277
### Redis Container #########################################
244278

@@ -248,6 +282,8 @@ services:
248282
- redis:/data
249283
ports:
250284
- "6379:6379"
285+
networks:
286+
- backend
251287

252288
### Aerospike c Container ###################################
253289

@@ -262,6 +298,8 @@ services:
262298
- "3001:3001"
263299
- "3002:3002"
264300
- "3003:3003"
301+
networks:
302+
- backend
265303

266304
### Memcached Container #####################################
267305

@@ -273,6 +311,8 @@ services:
273311
- "${MEMCACHED_HOST_PORT}:11211"
274312
depends_on:
275313
- php-fpm
314+
networks:
315+
- backend
276316

277317
### Beanstalkd Container ####################################
278318

@@ -283,6 +323,8 @@ services:
283323
privileged: true
284324
depends_on:
285325
- php-fpm
326+
networks:
327+
- backend
286328

287329
### RabbitMQ Container ######################################
288330

@@ -298,6 +340,8 @@ services:
298340
- RABBITMQ_DEFAULT_PASS=${RABBITMQ_DEFAULT_PASS}
299341
depends_on:
300342
- php-fpm
343+
networks:
344+
- backend
301345

302346
### Beanstalkd Console Container ############################
303347

@@ -307,6 +351,8 @@ services:
307351
- "2080:2080"
308352
depends_on:
309353
- beanstalkd
354+
networks:
355+
- backend
310356

311357
### Caddy Server Container ##################################
312358

@@ -324,6 +370,9 @@ services:
324370
- caddy:/root/.caddy
325371
depends_on:
326372
- php-fpm
373+
networks:
374+
- frontend
375+
- backend
327376

328377
### phpMyAdmin Container ####################################
329378

@@ -338,6 +387,8 @@ services:
338387
- "${PMA_PORT}:80"
339388
depends_on:
340389
- "${PMA_DB_ENGINE}"
390+
networks:
391+
- frontend
341392

342393
### Adminer Container ####################################
343394

@@ -347,6 +398,8 @@ services:
347398
- "${ADM_PORT}:8080"
348399
depends_on:
349400
- php-fpm
401+
networks:
402+
- frontend
350403

351404
### pgAdmin Container #######################################
352405

@@ -356,6 +409,8 @@ services:
356409
- "5050:5050"
357410
depends_on:
358411
- postgres
412+
networks:
413+
- frontend
359414

360415
### ElasticSearch Container #################################
361416

@@ -369,6 +424,8 @@ services:
369424
- "${ELASTICSEARCH_HOST_TRANSPORT_PORT}:9300"
370425
depends_on:
371426
- php-fpm
427+
networks:
428+
- frontend
372429

373430
### Certbot Container ##################################
374431

@@ -381,6 +438,8 @@ services:
381438
environment:
382439
- CN="fake.domain.com"
383440
- EMAIL="fake.email@gmail.com"
441+
networks:
442+
- frontend
384443

385444
### Mailhog Container #########################################
386445

@@ -389,17 +448,79 @@ services:
389448
ports:
390449
- "1025:1025"
391450
- "8025:8025"
451+
networks:
452+
- frontend
392453

393-
### Selenium Container #########################################
454+
### Selenium Container ########################################
394455

395456
selenium:
396457
build: ./selenium
397458
ports:
398459
- "${SELENIUM_PORT}:4444"
399460
volumes:
400461
- /dev/shm:/dev/shm
462+
networks:
463+
- frontend
464+
465+
### Varnish Proxy 1 ##########################################
466+
467+
proxy:
468+
build: ./varnish
469+
expose:
470+
- ${VARNISH_PORT}
471+
environment:
472+
- VARNISH_CONFIG=${VARNISH_CONFIG}
473+
- CACHE_SIZE=${VARNISH_PROXY1_CACHE_SIZE}
474+
- VARNISHD_PARAMS=${VARNISHD_PARAMS}
475+
- VARNISH_PORT=${VARNISH_PORT}
476+
- BACKEND_HOST=${VARNISH_PROXY1_BACKEND_HOST}
477+
- BACKEND_PORT=${VARNISH_BACKEND_PORT}
478+
- VARNISH_SERVER=${VARNISH_PROXY1_SERVER}
479+
links:
480+
- workspace
481+
networks:
482+
- frontend
483+
484+
### Varnish Proxy 2 ##########################################
485+
486+
proxy2:
487+
build: ./varnish
488+
expose:
489+
- ${VARNISH_PORT}
490+
environment:
491+
- VARNISH_CONFIG=${VARNISH_CONFIG}
492+
- CACHE_SIZE=${VARNISH_PROXY2_CACHE_SIZE}
493+
- VARNISHD_PARAMS=${VARNISHD_PARAMS}
494+
- VARNISH_PORT=${VARNISH_PORT}
495+
- BACKEND_HOST=${VARNISH_PROXY2_BACKEND_HOST}
496+
- BACKEND_PORT=${VARNISH_BACKEND_PORT}
497+
- VARNISH_SERVER=${VARNISH_PROXY2_SERVER}
498+
links:
499+
- workspace
500+
networks:
501+
- frontend
502+
503+
### Balancer Haproxy ##########################################
504+
505+
balancer:
506+
build: ./haproxy
507+
ports:
508+
- "${HAPROXY_HOST_HTTP_PORT}:8085"
509+
volumes:
510+
- /var/run/docker.sock:/var/run/docker.sock
511+
links:
512+
- proxy
513+
- proxy2
514+
515+
### Networks Setup ############################################
516+
517+
networks:
518+
frontend:
519+
driver: "bridge"
520+
backend:
521+
driver: "bridge"
401522

402-
### Volumes Setup ###########################################
523+
### Volumes Setup #############################################
403524

404525
volumes:
405526
mysql:

env-example

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,9 +122,28 @@ PMA_PASSWORD=secret
122122
PMA_ROOT_PASSWORD=secret
123123
PMA_PORT=88
124124

125-
### Adminer Container
125+
### ADMINER Container
126126
ADM_PORT=88
127127

128+
### VARNISH Container
129+
VARNISH_CONFIG=/etc/varnish/default.vcl
130+
VARNISH_PORT=8080
131+
VARNISH_BACKEND_PORT=8888
132+
VARNISHD_PARAMS=-p default_ttl=3600 -p default_grace=3600
133+
134+
### Varnish Proxy 1 Container
135+
VARNISH_PROXY1_CACHE_SIZE=128m
136+
VARNISH_PROXY1_BACKEND_HOST=workspace
137+
VARNISH_PROXY1_SERVER=SERVER1
138+
139+
### Varnish Proxy 2 Container
140+
VARNISH_PROXY2_CACHE_SIZE=128m
141+
VARNISH_PROXY2_BACKEND_HOST=workspace
142+
VARNISH_PROXY2_SERVER=SERVER2
143+
144+
### HAPROXY Container
145+
HAPROXY_HOST_HTTP_PORT=8085
146+
128147
### MISC
129148
# Replace with your Docker Host IP (will be appended to /etc/hosts)
130149
DOCKER_HOST_IP=10.0.75.1

haproxy/Dockerfile

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
FROM dockercloud/haproxy:latest
2+
3+
MAINTAINER ZeroC0D3 Team<zeroc0d3.team@gmail.com>
4+
5+
EXPOSE 80

0 commit comments

Comments
 (0)