-
Notifications
You must be signed in to change notification settings - Fork 23
/
Copy pathdocker-compose.yml
111 lines (105 loc) · 2.66 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
version: '2'
services:
#######################################
# Application
#######################################
app:
build:
context: ./.docker/app
depends_on:
- db
- mail
links:
- db
- mail
volumes:
- ./app:/var/www/html/
environment:
- DB_NAME=wp
- DB_USER=wp
- DB_PASSWORD=password
- DB_HOST=db
- DB_PREFIX=$DB_PREFIX
- WP_ENV=development
- WP_HOME=http://$PROJECT_NAME.docker
- WP_SITEURL=http://$PROJECT_NAME.docker/wp
#######################################
# Webserver
#######################################
web:
build:
context: ./.docker/web
depends_on:
- app
links:
- app
volumes_from:
- app
environment:
- VIRTUAL_HOST=$PROJECT_NAME.docker
- VIRTUAL_PORT=80
# substitute hostname to nginx conf; syntax from here: https://github.com/docker-library/docs/issues/496#issuecomment-203003827
command: /bin/sh -c "envsubst '$$VIRTUAL_HOST' < /etc/nginx/site.conf.template > /etc/nginx/site.conf && nginx -g 'daemon off;'"
#######################################
# Database
#######################################
# Enable port mapping to access the database via
# host: localhost
# port: 3306
#######################################
db:
image: mariadb
# ports:
# - "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=wp
- MYSQL_USER=wp
- MYSQL_PASSWORD=password
#######################################
# phpMyAdmin
#######################################
phpmyadmin:
image: phpmyadmin/phpmyadmin
depends_on:
- db
links:
- db
environment:
- VIRTUAL_PORT=80
- VIRTUAL_HOST=phpmyadmin.$PROJECT_NAME.docker
- PMA_ABSOLUTE_URI=http://phpmyadmin.$PROJECT_NAME.docker/
- PMA_ARBITRARY=1
- PMA_HOST=db
- PMA_PORT=3306
- PMA_USER=wp
- PMA_PASSWORD=password
#######################################
# Mailhog
#######################################
mail:
image: mailhog/mailhog
environment:
- VIRTUAL_PORT=8025
- VIRTUAL_HOST=mail.$PROJECT_NAME.docker
#######################################
# Composer
#######################################
composer:
image: composer
volumes:
- ./app:/app
#######################################
# CI-Test
#######################################
test:
build:
context: ./.docker/web
depends_on:
- web
- phpmyadmin
- mail
links:
- web:$PROJECT_NAME.docker
- phpmyadmin:phpmyadmin.$PROJECT_NAME.docker
- mail:mail.$PROJECT_NAME.docker