-
Notifications
You must be signed in to change notification settings - Fork 0
/
docker-compose.yml
92 lines (82 loc) · 2.47 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
x-variables:
- &environment_mysql_root_password MYSQL_ROOT_PASSWORD=database
- &volume_wiki_images wiki-images:/var/www/html/images
services:
# Note that BackstopJS testing will only work for the default values
# WIKI_DOMAIN=wiki.local and WIKI_PORT=80
wiki:
image: ghcr.io/tibhannover/smw-crc1153:test
build: ./context
ports:
- ${WIKI_PORT:-80}:80
volumes:
- wiki-data:/data
- *volume_wiki_images
- ./backstop/backstop_data:/var/www/html/backstop
environment:
- WIKI_DOMAIN=${WIKI_DOMAIN:-wiki.local}
- WIKI_PORT=${WIKI_PORT:-80}
- ELASTICSEARCH_HOST=elasticsearch
- MYSQL_HOST
depends_on:
mysql:
condition: service_healthy
elasticsearch:
condition: service_healthy
memcached:
image: memcached:latest
elasticsearch:
## MW recommends to use their own images and sticking with the version even if a newer ES is available
## https://gitlab.wikimedia.org/repos/search-platform/cirrussearch-elasticsearch-image
## https://docker-registry.wikimedia.org/repos/search-platform/cirrussearch-elasticsearch-image/tags/
image: docker-registry.wikimedia.org/repos/search-platform/cirrussearch-elasticsearch-image:v7.10.2-12
volumes:
- elasticsearch-data:/usr/share/elasticsearch/data
environment:
- discovery.type=single-node
- "ES_JAVA_OPTS=-Xms512m -Xmx512m"
healthcheck:
test: curl -s http://elasticsearch:9200 >/dev/null || exit 1
interval: 10s
timeout: 5s
retries: 50
mysql:
image: mysql:8
volumes:
- mysql-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: database
healthcheck:
test: "/usr/bin/mysql --user=root --password=$$MYSQL_ROOT_PASSWORD --execute 'SHOW DATABASES;'"
interval: 5s
timeout: 5s
retries: 42
backup:
image: ghcr.io/gesinn-it-pub/mediawiki-backup:${MEDIAWIKI_BACKUP_VERSION:-latest}
volumes:
- ./backup:/backup
- *volume_wiki_images
environment:
- MYSQL_HOST=mysql
- *environment_mysql_root_password
- OWNER=${OWNER:-1000}
profiles:
- no-up
backstop:
image: backstopjs/backstopjs:6.0.4
volumes:
- ./backstop:/src
links:
- wiki:wiki.local
profiles:
- no-up
wait-for-wiki:
image: mintel/docker-wait-for-it
entrypoint: ['/opt/wait-for-it.sh', 'wiki:80', '-t', '120']
profiles:
- no-up
volumes:
wiki-data:
wiki-images:
elasticsearch-data:
mysql-data: