forked from WordPress/wordpress-develop
-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
125 lines (116 loc) · 3.31 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
117
118
119
120
121
122
123
124
125
version: "3.7"
networks:
wordpress.test:
name: wordpress.test
services:
traefik:
image: "traefik:v2.0.0"
command:
- "--entrypoints.web.address=:80"
- "--providers.docker=true"
- "--api.insecure"
- "--api.dashboard"
ports:
- "80:80"
- "8080:8080"
volumes:
- "/var/run/docker.sock:/var/run/docker.sock:ro"
networks:
- wordpress.test
mysql:
image: mysql:${LOCAL_MYSQL-latest}
networks:
- wordpress.test
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: password
volumes:
- ./tools/local-env/mysql-init.sql:/docker-entrypoint-initdb.d/mysql-init.sql
- mysql:/var/lib/mysql
command: --default-authentication-plugin=mysql_native_password
browserless:
image: browserless/chrome
container_name: "browserless"
networks:
- wordpress.test
environment:
- DEBUG=browserless/chrome
- MAX_CONCURRENT_SESSIONS=10
- FUNCTION_EXTERNALS=["lighthouse"]
- FUNCTION_BUILT_INS=["url"]
ports:
- "3000:3000"
restart: always
links:
- wp:wczgz2020.wordpress.test
wp:
image: nginx:alpine
depends_on: ["mysql"]
networks:
- wordpress.test
volumes:
- ./tools/local-env/default.template:/etc/nginx/conf.d/default.template
- ./:/var/www
environment:
- LOCAL_DIR=${LOCAL_DIR-src}
labels:
- "traefik.docker.network=services_wordpress.test"
- "traefik.http.routers.wp.rule=Host(`wczgz2020.wordpress.test`)"
- "traefik.http.services.wp.loadbalancer.server.port=80"
entrypoint: ["sh", "-c"]
command:
- |
envsubst '$$LOCAL_DIR' < /etc/nginx/conf.d/default.template > /etc/nginx/conf.d/default.conf && exec nginx -g 'daemon off;'
depends_on:
- php
- traefik
php:
image: wordpressdevelop/php:${LOCAL_PHP-latest}
networks:
- wordpress.test
environment:
LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false}
LOCAL_PHP_MEMCACHED: ${LOCAL_PHP_MEMCACHED-false}
PHP_FPM_UID: ${PHP_FPM_UID-1000}
PHP_FPM_GID: ${PHP_FPM_GID-1000}
volumes:
- ./tools/local-env/php-config.ini:/usr/local/etc/php/conf.d/php-config.ini
- ./:/var/www
depends_on:
- mysql
cli:
image: wordpressdevelop/cli:${LOCAL_PHP-latest}
networks:
- wordpress.test
environment:
LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false}
LOCAL_PHP_MEMCACHED: ${LOCAL_PHP_MEMCACHED-false}
PHP_FPM_UID: ${PHP_FPM_UID-1000}
PHP_FPM_GID: ${PHP_FPM_GID-1000}
volumes:
- ./:/var/www
init: true
phpunit:
image: wordpressdevelop/phpunit:${LOCAL_PHP-latest}
networks:
- wordpress.test
environment:
LOCAL_PHP_XDEBUG: ${LOCAL_PHP_XDEBUG-false}
LOCAL_PHP_MEMCACHED: ${LOCAL_PHP_MEMCACHED-false}
LOCAL_DIR: ${LOCAL_DIR-src}
WP_MULTISITE: ${WP_MULTISITE-false}
PHP_FPM_UID: ${PHP_FPM_UID-1000}
PHP_FPM_GID: ${PHP_FPM_GID-1000}
TRAVIS_BRANCH: ${TRAVIS_BRANCH-false}
TRAVIS_PULL_REQUEST: ${TRAVIS_PULL_REQUEST-false}
volumes:
- ./tools/local-env/phpunit-config.ini:/usr/local/etc/php/conf.d/phpunit-config.ini
- ./:/var/www
- phpunit-uploads:/var/www/${LOCAL_DIR-src}/wp-content/uploads
init: true
depends_on:
- mysql
volumes:
mysql: {}
phpunit-uploads: {}