-
Notifications
You must be signed in to change notification settings - Fork 19
/
docker-compose.yml
107 lines (97 loc) · 3.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
# This is a Docker Compose file for a LAMP + Varnish, Redis, and Solr stack.
# It is fine for local development, but to use it for production environments,
# you should set proper passwords, memory limits, and restart policies. This
# setup only exposes Varnish on port 8080. All other ports are internal.
#
# Starting the application:
# docker-compose up -d
#
# Stopping the application:
# docker-compose stop
#
# Getting shell access:
# docker-compose exec drupal /bin/bash
#
# See https://docs.docker.com/compose/ for more information.
version: '3'
volumes:
# This is an anonymous volume. It won't be deleted unless you explicitly do so
# (you can remove the mysql container and it will still persist). The location
# of the volume on the host is managed by Docker.
mysql_data:
services:
drupal:
image: "lastcallmedia/php:7.2-dev"
ports:
- "${DRUPAL_PORT:-8080}:80" # Debug port - remove if you use for production hosting
- "${MANNEQUIN_PORT:-8081}:8081" # Debug port - remove if you use for production hosting.
volumes:
- .:/var/www:${VOLUME_FLAGS-rw}
links:
- mysql
- redis
env_file: [docker/drupal.env]
environment:
APACHE_DOCROOT: /var/www/web
MYSQL_HOST: mysql
MYSQL_PASSWORD: drupal
MYSQL_USER: drupal
MYSQL_DATABASE: drupal
CACHE_HOST: redis
DOCKER_ENV: local
# SITE_NAME: # Set in docker/drupal.env
# TERMINUS_SITE: # Set in docker/drupal.env
# TERMINUS_SOURCE_ENVIRONMENT: # Set in docker/drupal.env
TERMINUS_MACHINE_TOKEN: # Optionally set in .env.
XDEBUG_CONFIG: # Optionally set in .env.
XDEBUG_ENABLE: # Optionally sert in .env.
BLACKFIRE_CLIENT_ID: # Optionally set in .env.
BLACKFIRE_CLIENT_TOKEN: # Optionally set in .env.
COMPOSER_ALLOW_SUPERUSER: 1
working_dir: /var/www
mysql:
image: "mysql:5.6"
ports:
- "${MYSQL_PORT:-33306}:3306" # Debug port - remove if you use for production hosting.
volumes:
- mysql_data:/var/lib/mysql
- ./docker/mysql-extra.cnf:/etc/mysql/conf.d/extra.cnf
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_USER=drupal
- MYSQL_PASSWORD=drupal
- MYSQL_DATABASE=drupal
redis:
image: redis:3.2.4
backstop:
image: "backstopjs/backstopjs:4.4.2"
environment:
BASE_URL: "http://drupal:80"
volumes:
- ./backstop:/src
shm_size: 1gb
entrypoint: [backstop, --config=/src/backstop.js]
blackfire:
image: "blackfire/blackfire"
environment:
BLACKFIRE_SERVER_ID: # Set in .env if you want to use Blackfire.
BLACKFIRE_SERVER_TOKEN: # Set in .env if you want to use Blackfire.
# You can use Varnish locally by unommenting this block.
# Access varnish on localhost:8085
#varnish:
# image: kardasz/varnish:latest
# ports:
# - ${VARNISH_PORT:-8085}:80
# links:
# - drupal
# volumes:
# - ./docker/default.vcl:/etc/varnish/default.vcl
# You need to add the search_api_solr module before you can create this
# container, since we need the configuration files.
#solr:
# image: solr:5.5.3-alpine
# ports:
# - "${SOLR_PORT:-8983}:8983" # Debug port - remove if you use for production hosting.
# command: solr-precreate main /solr-config
# volumes:
# - ./modules/contrib/search_api_solr/solr-conf/5.x:/solr-config/conf