-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
124 lines (117 loc) · 4.73 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
# Development env for the projects.
## @see: https://github.com/wodby/docker4drupal
services:
db:
container_name: "${PROJECT_NAME}_db"
stop_grace_period: 30s
image: mysql:8.0.26
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DRUPAL_DATABASE_NAME}
MYSQL_USER: ${DRUPAL_DATABASE_USERNAME}
MYSQL_PASSWORD: ${DRUPAL_DATABASE_PASSWORD}
restart: unless-stopped
command:
- 'mysqld'
- '--character-set-server=utf8mb4'
- '--collation-server=utf8mb4_0900_ai_ci'
- '--default-authentication-plugin=mysql_native_password'
php:
# Linux| 1000:1000
# image: brainsum/c2bdistro-php:7.4-dev-4.22.1
image: wodby/drupal-php:8.1-dev-4.57.0
# # Mac| 501:20
# image: wodby/drupal-php:7.4-dev-macos-4.25.0
environment:
DRUPAL_DATABASE_HOST: ${DRUPAL_DATABASE_HOST}
DRUPAL_DATABASE_PORT: ${DRUPAL_DATABASE_PORT}
DRUPAL_DATABASE_USERNAME: ${DRUPAL_DATABASE_USERNAME}
DRUPAL_DATABASE_PASSWORD: ${DRUPAL_DATABASE_PASSWORD}
DRUPAL_DATABASE_NAME: ${DRUPAL_DATABASE_NAME}
DRUPAL_HASH_SALT: ${DRUPAL_HASH_SALT}
DRUSH_BASE_URI: ${DRUSH_BASE_URI}
DRUPAL_BASE_URL: "${PROJECT_BASE_URL}"
PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
# PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S opensmtpd:25
PHP_FPM_USER: wodby
PHP_FPM_GROUP: wodby
PHP_POST_MAX_SIZE: "500M"
PHP_UPLOAD_MAX_FILESIZE: "500M"
##
## Read instructions at https://wodby.com/docs/stacks/php/local/#xdebug
# PHP_XDEBUG: 1
# PHP_XDEBUG_DEFAULT_ENABLE: 1
# PHP_XDEBUG_REMOTE_CONNECT_BACK: 0
# PHP_IDE_CONFIG: serverName=my-ide
# PHP_XDEBUG_IDEKEY: "my-ide"
# PHP_XDEBUG_REMOTE_HOST: host.docker.internal # Docker 18.03+ Mac/Win
# PHP_XDEBUG_REMOTE_HOST: 172.17.0.1 # Linux
# PHP_XDEBUG_REMOTE_HOST: 10.254.254.254 # macOS, Docker < 18.03
# PHP_XDEBUG_REMOTE_HOST: 10.0.75.1 # Windows, Docker < 18.03
# PHP_XDEBUG_REMOTE_LOG: /tmp/php-xdebug.log
## PHPUnit Drupal testing configurations
# SIMPLETEST_BASE_URL: "http://nginx"
# SIMPLETEST_DB: "mysql://drupal:drupal@mariadb/drupal#tests_"
# MINK_DRIVER_ARGS_WEBDRIVER: '["chrome", {"browserName":"chrome","goog:chromeOptions":{"args":["--disable-gpu","--headless"]}}, "http://chrome:9515"]'
## PHPUnit - Drupal Test Traits configurations
DTT_BASE_URL: http://nginx/
DTT_API_URL: http://chrome:9222
BROWSERTEST_OUTPUT_BASE_URL: ${BROWSERTEST_OUTPUT_BASE_URL}
DTT_MINK_DRIVER_ARGS: '["chrome", {"browserName":"chrome","chromeOptions":{"args":["--disable-gpu","--headless","--no-sandbox","--disable-dev-shm-usage"]}}, "http://chrome:9515"]'
volumes:
- ./app:/var/www/html
## For macOS users (https://wodby.com/docs/stacks/drupal/local#docker-for-mac)
# - ./:/var/www/html:cached # User-guided caching
# - docker-sync:/var/www/html # Docker-sync
## For XHProf and Xdebug profiler traces
# - files:/mnt/files
nginx:
image: wodby/nginx:1.25-5.34.2
depends_on:
- php
environment:
NGINX_STATIC_OPEN_FILE_CACHE: "off"
NGINX_ERROR_LOG_LEVEL: debug
NGINX_BACKEND_HOST: php
NGINX_SERVER_ROOT: /var/www/html/web
NGINX_VHOST_PRESET: drupal10
## Custom
NGINX_CLIENT_MAX_BODY_SIZE: "500m"
##
# NGINX_DRUPAL_FILE_PROXY_URL: http://example.com
volumes:
- ./app:/var/www/html
# For macOS users (https://wodby.com/docs/stacks/drupal/local#docker-for-mac)
# - ./:/var/www/html:cached # User-guided caching
# - docker-sync:/var/www/html # Docker-sync
labels:
- "traefik.http.routers.${PROJECT_NAME}_nginx.rule=Host(`${PROJECT_BASE_URL}`)"
# See https://github.com/SeleniumHQ/docker-selenium/tree/master/StandaloneChrome
selenium:
# from 4.6.0-20221104 getting 'non-positive contentLength: 0'
# See https://github.com/SeleniumHQ/docker-selenium/issues/1723
image: selenium/standalone-chrome:4.5.3-20221024
ports:
- "${SELENIUM2DRIVER_PORT-4444}:4444"
shm_size: '1gb'
volumes:
- ./:/var/www/html
mailhog:
image: mailhog/mailhog
labels:
- "traefik.http.services.${PROJECT_NAME}_mailhog.loadbalancer.server.port=8025"
- "traefik.http.routers.${PROJECT_NAME}_mailhog.rule=Host(`mailhog.${PROJECT_BASE_URL}`)"
traefik:
image: traefik:v2.4.12
command: --api.insecure=true --providers.docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 127.0.0.1:${TRAEFIK_HOST_PORT}:80
- 127.0.0.1:${TRAEFIK_DASHBOARD_HOST_PORT}:8080
#volumes:
## Docker-sync for macOS users
# docker-sync:
# external: true
## For Xdebug profiler
# files: