-
Notifications
You must be signed in to change notification settings - Fork 1
/
docker-compose.yml
116 lines (107 loc) · 2.97 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
version: '3.7'
services:
# PHP Server
php:
image: webdevops/php:8.1-alpine
expose:
- 9000
volumes:
- .:/var/www:rw
- ./tests/app/php/php.ini:/opt/docker/etc/php/php.ini:ro
environment:
# PHP
PHP_MEMORY_LIMIT: 512M
PHP_DATE_TIMEZONE: UTC
PHP_DISPLAY_ERRORS: 1
# Main Server - Nginx
server:
image: webdevops/nginx:alpine
depends_on:
- php
ports:
- 80:80
volumes:
- .:/var/www:ro
- ./tests/app/nginx/nginx.conf:/opt/docker/etc/nginx/nginx.conf:ro
- ./tests/app/nginx/app.conf:/opt/docker/etc/nginx/conf.d/app.conf:ro
environment:
# NGINX
WEB_DOCUMENT_ROOT: '/var/www/tests/app/server'
WEB_DOCUMENT_INDEX: index.php
# `php` service name + exposed port
WEB_PHP_SOCKET: 'php:9000'
# V1 Server - Nginx
v1:
image: webdevops/nginx:alpine
depends_on:
- php
ports:
- 81:80
volumes:
- .:/var/www:ro
- ./tests/app/nginx/nginx.conf:/opt/docker/etc/nginx/nginx.conf:ro
- ./tests/app/nginx/app.conf:/opt/docker/etc/nginx/conf.d/app.conf:ro
environment:
# NGINX
WEB_DOCUMENT_ROOT: '/var/www/tests/app/v1'
WEB_DOCUMENT_INDEX: index.php
# `php` service name + exposed port
WEB_PHP_SOCKET: 'php:9000'
# V2 Server - Nginx
v2:
image: webdevops/nginx:alpine
depends_on:
- php
ports:
- 82:80
volumes:
- .:/var/www:ro
- ./tests/app/nginx/nginx.conf:/opt/docker/etc/nginx/nginx.conf:ro
- ./tests/app/nginx/app.conf:/opt/docker/etc/nginx/conf.d/app.conf:ro
environment:
# NGINX
WEB_DOCUMENT_ROOT: '/var/www/tests/app/v2'
WEB_DOCUMENT_INDEX: index.php
# `php` service name + exposed port
WEB_PHP_SOCKET: 'php:9000'
# V3 Server - Nginx
v3:
image: webdevops/nginx:alpine
depends_on:
- php
ports:
- 83:80
volumes:
- .:/var/www:ro
- ./tests/app/nginx/nginx.conf:/opt/docker/etc/nginx/nginx.conf:ro
- ./tests/app/nginx/app.conf:/opt/docker/etc/nginx/conf.d/app.conf:ro
environment:
# NGINX
WEB_DOCUMENT_ROOT: '/var/www/tests/app/v3'
WEB_DOCUMENT_INDEX: index.php
# `php` service name + exposed port
WEB_PHP_SOCKET: 'php:9000'
# MYSQL
mysql:
image: mysql:latest
ports:
- 3310:3306
volumes:
- mysql-volume:/var/lib/mysql:rw
- ./tests/app/mysql/mysql.conf:/etc/mysql/conf.d/mysql.conf:ro
# Deploy database ddl scripts on fresh init
# NOTE: If ddl has any error, docker will fail to start
- ./tests/app/database:/docker-entrypoint-initdb.d/:ro
environment:
- MYSQL_DATABASE=default
- MYSQL_PASSWORD=root
- MYSQL_ROOT_PASSWORD=root
- TZ=UTC
# PHP Docs
docs:
image: phpdoc/phpdoc
volumes:
- ./:/data:rw
volumes:
mysql-volume:
name: mysql-test-volume