-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdocker-compose.yml
145 lines (137 loc) · 4.32 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
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# https://github.com/docker/compose/issues/4513#issuecomment-281478365
# >> Are we just expected to stay on [Docker Compose file format version 2] if
# >> we want to use docker-compose and not swarm mode?
# >
# > Yes.
#
# https://docs.docker.com/compose/compose-file/compose-file-v2/
version: '2.4'
services:
index-composer:
command: 'true'
container_name: index-composer
depends_on:
- index-wpdb
- index-web
# https://hub.docker.com/_/composer
image: composer
user: xfs
volumes:
- ./config/composer/composer.json:/var/www/html/composer.json
- ./config/composer/composer.lock:/var/www/html/composer.lock
- index-wp-data:/var/www/html
working_dir: /var/www/html/
index-phpmyadmin:
container_name: index-phpmyadmin
depends_on:
- index-wpdb
environment:
MYSQL_ROOT_PASSWORD: root
PMA_HOST: index-wpdb
PMA_PORT: 3306
# https://hub.docker.com/_/phpmyadmin
image: phpmyadmin
networks:
- index-backend
ports:
- '8003:80'
volumes:
# Apache2 web server configuration
- ./config/phpmyadmin-sites-available:/etc/apache2/sites-available:ro
index-web:
container_name: index-web
depends_on:
- index-wpdb
environment:
WORDPRESS_CONFIG_EXTRA: |
# Use dispatch port by default
if ('${CODESPACE_NAME:-}') {
define('WP_HOME', 'https://${CODESPACE_NAME:-}-8080.${GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN:-}');
define('WP_SITEURL', 'https://${CODESPACE_NAME:-}-8080.${GITHUB_CODESPACES_PORT_FORWARDING_DOMAIN:-}');
} else {
define('WP_HOME', 'http://localhost:8080');
define('WP_SITEURL', 'http://localhost:8080');
}
WORDPRESS_DB_HOST: index-wpdb:3306
WORDPRESS_DB_PASSWORD: root
WORDPRESS_DB_USER: root
WORDPRESS_DB_name: wordpress
WORDPRESS_USER: root
# https://hub.docker.com/_/wordpress
# https://github.com/docker-library/repo-info/blob/master/repos/wordpress/remote/latest.md
# https://github.com/docker-library/repo-info/blob/master/repos/wordpress/local/latest.md
image: wordpress:${WP_VERSION:?err}
networks:
- index-backend
ports:
- '8080:80'
restart: on-failure
volumes:
# Apache2 web server configuration
- ./config/web-sites-available:/etc/apache2/sites-available:ro
# CC Legal Tools
# - (assumes the cc-legal-tools-data repository has been cloned next to
# this repository)
- ../cc-legal-tools-data:/var/www/git/cc-legal-tools-data:ro
# Chooser
# - (assumes the chooser repository has been cloned next to this
# repository) this repository)
- ../chooser:/var/www/git/chooser:ro
# FAQ
# - (assumes the faq repository has been cloned next to this repository)
# this repository)
- ../faq:/var/www/git/faq:ro
# Platform Toolkit
# - (assumes the mp repository has been cloned next to this repository)
# this repository)
- ../mp:/var/www/git/mp:ro
# WordPress
- index-wp-data:/var/www/html
# Migration cache
- ./cache:/var/www/html/cache:ro
index-wpcli:
# continue running until shutdown (this allows docker compose exec which is
# much faster than docker compose run)
# Thank you: https://serverfault.com/a/1084975
command: sh -c 'trap "exit" TERM; while true; do sleep 1; done'
container_name: index-wpcli
depends_on:
- index-wpdb
- index-web
environment:
WORDPRESS_DB_HOST: index-wpdb:3306
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_PASSWORD: root
WORDPRESS_DB_USER: root
WORDPRESS_USER: root
# https://hub.docker.com/_/wordpress
image: wordpress:cli
networks:
- index-backend
user: xfs
volumes:
# WordPress
- index-wp-data:/var/www/html
# Migration cache
- ./cache:/var/www/html/cache:ro
index-wpdb:
container_name: index-wpdb
environment:
MYSQL_DATABASE: wordpress
MYSQL_ROOT_PASSWORD: root
MYSQL_USER: root
# https://hub.docker.com/_/mariadb
image: mariadb
networks:
- index-backend
restart: on-failure
volumes:
- index-db-data:/var/lib/mysql
volumes:
index-db-data:
name: index-db-data
index-wp-data:
name: index-wp-data
networks:
index-backend:
name: index-backend