-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
82 lines (76 loc) · 1.8 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
# @package docker-wordpress-local
# @version: 1.4.0
services:
db:
container_name: ${NAME}-db
image: mysql:8.0
ports:
- 3306:3306
volumes:
- db:/var/lib/mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DB_NAME}
MYSQL_USER: ${DB_USER}
MYSQL_PASSWORD: ${DB_PASSWORD}
command: --default-authentication-plugin=mysql_native_password
wp:
container_name: ${NAME}-wp
depends_on:
- db
build:
context: .
dockerfile: .docker/wp/Dockerfile
args:
PHP_VERSION: ${PHP_VERSION:-8.2}
PHP_MAX_INPUT_VARS: ${PHP_MAX_INPUT_VARS:-4000}
PHP_MEMORY_LIMIT: ${PHP_MEMORY_LIMIT:-1024M}
PHP_MAX_EXECUTION_TIME: ${PHP_MAX_EXECUTION_TIME:-60}
restart: always
environment:
XDEBUG_MODE: "${XDEBUG_MODE}"
XDEBUG_CONFIG: "client_host=host.docker.internal output_dir=/tmp/profiling profiler_output_name=cachegrind.out.%s.%u"
env_file:
- .env
volumes:
- ./:/var/www/html
- ./profiling:/tmp/profiling
nginx:
container_name: ${NAME}-nginx
depends_on:
- wp
image: nginx:alpine
restart: unless-stopped
ports:
- "80:80"
- "443:443"
env_file:
- .env
environment:
- "DOMAIN=${DOMAIN}"
volumes:
- ./:/var/www/html
- ./.docker/certs:/etc/ssl
- ./.docker/nginx/nginx.conf:/etc/nginx/conf.d/default.conf
cli:
container_name: ${NAME}-cli
image: wordpress:cli-php${PHP_VERSION:-8.2}
volumes_from:
- wp
links:
- db
env_file:
- .env
entrypoint: wp
command: "--info"
mailhog:
container_name: ${NAME}-mailhog
image: mailhog/mailhog
restart: always
ports:
- 1025:1025
- 8025:8025
volumes:
db:
certs: