-
Notifications
You must be signed in to change notification settings - Fork 3
/
docker-compose.yml
98 lines (93 loc) · 3.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
version: "3.7"
services:
mariadb:
image: wodby/mariadb:10.3-3.3.15
container_name: "${PROJECT_NAME}_mariadb"
stop_grace_period: 30s
environment:
MYSQL_ROOT_PASSWORD: drupal
MYSQL_DATABASE: drupal
MYSQL_USER: drupal
MYSQL_PASSWORD: drupal
# 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:
# image: wodby/drupal-php:7.2-dev-4.11.0
# image: havelantmate/drupal_php:Backstop3.0.26-SlimerJS
# image: havelantmate:qashot-php:0.1.0
# build:
# context: docker/qashot-php
image: brainsum/qashot-php:0.4.0
init: true
container_name: "${PROJECT_NAME}_php"
# security_opt:
# - seccomp:unconfined
environment:
DISPLAY: "localhost:0.0"
PHP_DEV: "yes"
PHP_DEBUG: "yes"
PHP_FPM_CLEAR_ENV: "no"
PHP_FPM_LOG_LEVEL: "debug"
PHP_SENDMAIL_PATH: /usr/sbin/sendmail -t -i -S mailhog:1025
DB_HOST: mariadb
DB_USER: drupal
DB_PASSWORD: drupal
DB_NAME: drupal
DB_DRIVER: mysql
DOCKER_ENVIRONMENT: docker4drupal
PROJECT_ENVIRONMENT: 'development'
COLUMNS: 80 # Set 80 columns for docker exec -it.
## Read instructions at https://wodby.com/stacks/drupal/docs/local/xdebug/
# PHP_XDEBUG: 1
# PHP_XDEBUG_DEFAULT_ENABLE: 1
# PHP_XDEBUG_REMOTE_CONNECT_BACK: 0
# PHP_IDE_CONFIG: serverName=my-ide
# PHP_XDEBUG_REMOTE_HOST: host.docker.internal # Docker 18.03+ & Linux/Mac/Win
# PHP_XDEBUG_REMOTE_HOST: 172.17.0.1 # Linux, Docker < 18.03
# PHP_XDEBUG_REMOTE_HOST: 10.254.254.254 # macOS, Docker < 18.03
# PHP_XDEBUG_REMOTE_HOST: 10.0.75.1 # Windows, Docker < 18.03
volumes:
- ./:/var/www/html
## For macOS users (https://wodby.com/stacks/drupal/docs/local/docker-for-mac/)
# - ./:/var/www/html:cached # User-guided caching
# - docker-sync:/var/www/html # Docker-sync
## For Xdebug profiler files
# - files:/mnt/files
nginx:
image: wodby/nginx:1.15-5.3.0
container_name: "${PROJECT_NAME}_nginx"
depends_on:
- php
environment:
NGINX_PAGESPEED: "on"
NGINX_FASTCGI_INTERCEPT_ERRORS: "off"
NGINX_STATIC_OPEN_FILE_CACHE: "off"
NGINX_ERROR_LOG_LEVEL: debug
NGINX_BACKEND_HOST: php
NGINX_SERVER_ROOT: /var/www/html/web
NGINX_DRUPAL_HIDE_HEADERS: "on"
NGINX_VHOST_PRESET: drupal8
volumes:
- ./:/var/www/html:ro
- "./docker/nginx/config/qashot.conf.tmpl:/etc/gotpl/presets/drupal8.conf.tmpl:ro"
labels:
- 'traefik.backend=nginx'
- 'traefik.port=80'
- 'traefik.frontend.rule=Host:${PROJECT_BASE_URL}'
mailhog:
image: mailhog/mailhog
container_name: "${PROJECT_NAME}_mailhog"
labels:
- 'traefik.backend=mailhog'
- 'traefik.port=8025'
- 'traefik.frontend.rule=Host:mailhog.${PROJECT_BASE_URL}'
traefik:
image: traefik:v1.7.18-alpine
container_name: "${PROJECT_NAME}_traefik"
command: -c /dev/null --web --docker --logLevel=INFO
ports:
- '${TRAEFIK_PORT}:80'
# - '8080:8080' # Dashboard
volumes:
- /var/run/docker.sock:/var/run/docker.sock