-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
114 lines (105 loc) · 4.12 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
# Development env for the projects.
## @see: https://github.com/wodby/docker4drupal
version: "2"
services:
db:
image: wodby/mariadb:10.6-3.30.5
stop_grace_period: 30s
environment:
MYSQL_ROOT_PASSWORD: ${DB_ROOT_PASSWORD}
MYSQL_DATABASE: ${DRUPAL_DATABASE_NAME}
MYSQL_USER: ${DRUPAL_DATABASE_USERNAME}
MYSQL_PASSWORD: ${DRUPAL_DATABASE_PASSWORD}
# volumes:
# - ./mariadb-init:/docker-entrypoint-initdb.d # Place init .sql file(s) here.
# - /path/to/mariadb/data/on/host:/var/lib/mysql # Use bind mount
php:
# Linux| 1000:1000
image: brainsum/damopen-php:8.3-dev-4.66.0
# # Mac| 501:20
# image: wodby/drupal-php:7.3-dev-macos-4.14.3
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"]'
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.33.5
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}`)"
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}`)"
solr:
image: wodby/solr:8-4.6.1
environment:
SOLR_DEFAULT_CONFIG_SET: "search_api_solr_4.0"
SOLR_HEAP: 1024m
labels:
- "traefik.http.routers.${PROJECT_NAME}_solr.rule=Host(`solr.${PROJECT_BASE_URL}`)"
traefik:
image: library/traefik:v2.3.2
command: --api.insecure=true --providers.docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- 127.0.0.1:${TRAFEIK_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: