-
Notifications
You must be signed in to change notification settings - Fork 18
/
docker-compose.yml
166 lines (151 loc) · 4.95 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
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
# This value intentionally matches the project name on Lagoon.
# It is used to name the CLI_IMAGE to use as a build arg locally.
x-lagoon-project: &lagoon-project
{{ GOVCMS_PROJECT_NAME }}
x-lagoon-local-dev-url: &lagoon-local-dev-url
http://{{ GOVCMS_PROJECT_NAME }}.docker.amazee.io
# See GOVCMS_IMAGE_VERSION in "Variables" at https://github.com/govCMS/govCMS8/wiki
x-govcms-image-version: &govcms-image-version
${GOVCMS_IMAGE_VERSION:-{{ GOVCMS_VERSION }}.x-latest}
x-volumes: &default-volumes
volumes:
- ./themes:/app/web/themes/custom:${VOLUME_FLAGS:-delegated}
- ./files:/app/web/sites/default/files:delegated
- ./tests/behat/features:/app/tests/behat/features:${VOLUME_FLAGS:-delegated}
- ./tests/behat/screenshots:/app/tests/behat/screenshots:${VOLUME_FLAGS:-delegated}
- ./tests/phpunit/tests:/app/tests/phpunit/tests:${VOLUME_FLAGS:-delegated}
- ./config:/app/config
x-volumes-paas: &paas-volumes
volumes:
- .:/app:delegated
x-environment: &default-environment
RESTY_RESOLVER: 8.8.8.8
STAGE_FILE_PROXY_URL: ${STAGE_FILE_PROXY_URL:-}
LAGOON_ENVIRONMENT_TYPE: ${LAGOON_ENVIRONMENT_TYPE:-}
LAGOON_PROJECT: *lagoon-project
LAGOON_ROUTE: &default-url ${LOCALDEV_URL:-http://{{ GOVCMS_PROJECT_NAME }}.docker.amazee.io}
GOVCMS_IMAGE_VERSION: ${GOVCMS_IMAGE_VERSION:-{{ GOVCMS_VERSION }}.x-latest}
DEV_MODE: "${DEV_MODE:-false}"
XDEBUG_ENABLE: ${XDEBUG_ENABLE:-}
DOCKERHOST: ${DOCKERHOST:-host.docker.internal}
X_FRAME_OPTIONS: ${X_FRAME_OPTIONS:-SameOrigin}
DRUPAL_SHIELD_USER: ${DRUPAL_SHIELD_USER:-}
DRUPAL_SHIELD_PASS: ${DRUPAL_SHIELD_PASS:-}
GOVCMS_DEPLOY_WORKFLOW_CONFIG: ${GOVCMS_DEPLOY_WORKFLOW_CONFIG:-import}
GOVCMS_PREPARE_XML_SCRIPT: /app/vendor/bin/govcms-prepare-xml
HTTPAV_ENDPOINT: http://av:3993/scan
HTTPAV_RETURN_KEY: comodo
HTTP_PAYLOAD_KEY: malware
services:
cli:
build:
context: .
dockerfile: .docker/Dockerfile.cli
args:
LAGOON_SAFE_PROJECT: *lagoon-project
GOVCMS_IMAGE_VERSION: *govcms-image-version
GOVCMS_GITHUB_TOKEN: ${GOVCMS_GITHUB_TOKEN:-}
image: *lagoon-project
container_name: *lagoon-project
labels:
lagoon.type: cli-persistent
lagoon.persistent.name: nginx
lagoon.persistent: /app/web/sites/default/files/
<< : *default-volumes
environment:
<< : *default-environment
# Mount volumes from Pygmy to inject host SSH key into container.
# https://pygmy.readthedocs.io/en/master/ssh_agent/
volumes_from: ### Local overrides to mount host SSH keys. Automatically removed in CI.
- container:amazeeio-ssh-agent ### Local overrides to mount host SSH keys. Automatically removed in CI.
test:
build:
context: .
dockerfile: .docker/Dockerfile.test
args:
CLI_IMAGE: *lagoon-project
GOVCMS_IMAGE_VERSION: *govcms-image-version
SITE_AUDIT_VERSION: ${SITE_AUDIT_VERSION:-7.x-3.x}
labels:
lagoon.type: none
<< : *default-volumes
depends_on:
- cli
environment:
<< : *default-environment
nginx:
build:
context: .
dockerfile: .docker/Dockerfile.nginx-drupal
args:
CLI_IMAGE: *lagoon-project
GOVCMS_IMAGE_VERSION: *govcms-image-version
labels:
lagoon.type: nginx-php-persistent
lagoon.persistent: /app/web/sites/default/files/
<< : *default-volumes
depends_on:
- cli
environment:
<< : *default-environment
LAGOON_LOCALDEV_URL: *default-url
networks:
- amazeeio-network
- default
php:
build:
context: .
dockerfile: .docker/Dockerfile.php
args:
CLI_IMAGE: *lagoon-project
GOVCMS_IMAGE_VERSION: *govcms-image-version
labels:
lagoon.type: nginx-php-persistent
lagoon.name: nginx
lagoon.persistent: /app/web/sites/default/files/
<< : *default-volumes
depends_on:
- cli
environment:
<< : *default-environment
mariadb:
image: ${MARIADB_DATA_IMAGE:-govcms/mariadb-drupal:{{ GOVCMS_VERSION }}.x-latest}
platform: linux/amd64
labels:
lagoon.type: mariadb
lagoon.image: govcms/mariadb-drupal:{{ GOVCMS_VERSION }}.x-latest
ports:
- "3306" # Find port on host with `docker compose port mariadb 3306`
environment:
<< : *default-environment
av:
image: govcms/av:latest
labels:
lagoon.type: none
# Uncomment to enable solr.
# solr:
# build:
# context: .
# dockerfile: .docker/Dockerfile.solr
# args:
# GOVCMS_IMAGE_VERSION: *govcms-image-version
# labels:
# lagoon.type: solr
# ports:
# - "8983" # Find port on host with `docker compose port solr 8983`
# depends_on:
# - cli
# environment:
# << : *default-environment
chrome:
image: selenium/standalone-chrome:4.5.2-20221021
shm_size: '1gb'
platform: linux/amd64
depends_on:
- test
labels:
lagoon.type: none
<< : *default-volumes
networks:
amazeeio-network:
external: true