forked from Metadrop/drupal-boilerplate
-
Notifications
You must be signed in to change notification settings - Fork 0
/
compose.override.yml.dist
156 lines (130 loc) · 4.65 KB
/
compose.override.yml.dist
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
services:
# Existing containers (extra config):
# mariadb:
# 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
# @NOTE: enable ssh_auth_sock environment and volume variables
# in the case you need to access to remote servers inside docker
# using self-hosted credentials. It only works on Linux.
php:
environment:
SSH_AUTH_SOCK: /ssh-agent
volumes:
- ./:/var/www/html
# - $SSH_AUTH_SOCK:/ssh-agent
# crond:
# volumes:
# - ./:/var/www/html:cached
# nginx:
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_nginx.rule=Host(`${PROJECT_BASE_URL}`)"
# volumes:
- ./:/var/www/html:cached
# # Alternative for macOS users: Mutagen https://wodby.com/docs/stacks/drupal/local#docker-for-mac
# - mutagen:/var/www/html
# postgres:
# volumes:
# - ./postgres-init:/docker-entrypoint-initdb.d # Place init file(s) here.
# - /path/to/postgres/data/on/host:/var/lib/postgresql/data # Use bind mount
apache:
labels:
- "traefik.http.routers.${PROJECT_NAME}_apache.rule=Host(`${PROJECT_BASE_URL}`)"
volumes:
- ./:/var/www/html:cached
# # Alternative for macOS users: Mutagen https://wodby.com/docs/stacks/drupal/local#docker-for-mac
# - mutagen:/var/www/html
# varnish:
# labels:
# - "traefik.http.services.${PROJECT_NAME}_varnish.loadbalancer.server.port=6081"
# - "traefik.http.routers.${PROJECT_NAME}_varnish.rule=Host(`varnish.${PROJECT_BASE_URL}`)"
# pma:
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_pma.rule=Host(`pma.${PROJECT_BASE_URL}`)"
# solr:
# labels:
# - "traefik.http.services.${PROJECT_NAME}_solr.loadbalancer.server.port=8983"
# - "traefik.http.routers.${PROJECT_NAME}_solr.rule=Host(`solr.${PROJECT_BASE_URL}`)"
# drupal-node:
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_drupal_node.rule=Host(`drupal_node.${PROJECT_BASE_URL}`)"
# volumes:
# - ./path/to/your/single-page-app:/app
node:
labels:
- "traefik.http.services.${PROJECT_NAME}_node.loadbalancer.server.port=3000"
- "traefik.http.routers.${PROJECT_NAME}_node.rule=Host(`node.${PROJECT_BASE_URL}`)"
volumes:
- ./:/var/www/html
expose:
- "3000"
# webgrind:
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_webgrind.rule=Host(`webgrind.${PROJECT_BASE_URL}`)"
# volumes:
# - files:/mnt/files
# kibana:
# labels:
# - "traefik.http.services.${PROJECT_NAME}_kibana.loadbalancer.server.port=5601"
# - "traefik.http.routers.${PROJECT_NAME}_kibana.rule=Host(`kibana.${PROJECT_BASE_URL}`)"
# xhprof:
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_xhprof.rule=Host(`xhprof.${PROJECT_BASE_URL}`)"
# volumes:
# - files:/mnt/files
chrome:
volumes:
- ./:/var/www/html:cached # User-guided caching
backstopjs:
volumes:
- ./tests/:/src/tests
mailhog:
labels:
- "traefik.http.services.${PROJECT_NAME}_mailhog.loadbalancer.server.port=8025"
- "traefik.http.routers.${PROJECT_NAME}_mailhog.rule=Host(`mailhog.${PROJECT_BASE_URL}`)"
lighthouse:
volumes:
- ./tests/functional/lighthouse/lighthouserc.js:/home/lhci/reports/lighthouserc.js
# Additional containers:
traefik:
image: traefik:$TRAEFIK_TAG
container_name: "${PROJECT_NAME}_traefik"
command: --api.insecure=true --providers.docker
volumes:
- /var/run/docker.sock:/var/run/docker.sock
ports:
- '8000:80'
# - '8444:443'
# portainer:
# image: portainer/portainer
# container_name: "${PROJECT_NAME}_portainer"
# command: --no-auth -H unix:///var/run/docker.sock
# labels:
# - "traefik.http.routers.${PROJECT_NAME}_portainer.rule=Host(`portainer.${PROJECT_BASE_URL}`)"
# volumes:
# - /var/run/docker.sock:/var/run/docker.sock
mkdocs:
container_name: "${PROJECT_NAME}_mkdocs"
image: metadrop/docker-mkdocs
volumes:
- ./docs:/docs
working_dir: /docs
labels:
- "traefik.http.services.${PROJECT_NAME}_mkdocs.loadbalancer.server.port=8080"
- "traefik.http.routers.${PROJECT_NAME}_mkdocs.rule=Host(`docs.${PROJECT_BASE_URL}`)"
adminer:
container_name: "${PROJECT_NAME}_adminer"
image: wodby/adminer:$ADMINER_TAG
environment:
ADMINER_DEFAULT_DB_HOST: $DB_HOST
ADMINER_DEFAULT_DB_NAME: $DB_NAME
labels:
- "traefik.http.routers.${PROJECT_NAME}_adminer.rule=Host(`adminer.${PROJECT_BASE_URL}`)"
# mutagen:
# build:
# context: .
# dockerfile: mutagen/Dockerfile
# init: true
# container_name: "mutagen"
# volumes:
# - mutagen:/var/www/html