-
-
Notifications
You must be signed in to change notification settings - Fork 19
/
Copy pathdocker-compose-full.yml
156 lines (144 loc) · 3.55 KB
/
docker-compose-full.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
version: "2.4"
services:
# application containers
website:
image: exercism/website
stop_grace_period: 1s
build:
context: ../website
dockerfile: dev.Dockerfile
depends_on:
- mysql
- redis
- opensearch
- aws
- setup
environment:
- LANGUAGE_SERVER_HOST=ws://local.exercism.io:3023
- OPENSEARCH_HOST=https://opensearch:9200
- OPENSEARCH_USER=admin
- OPENSEARCH_PASSWORD=admin
- OPENSEARCH_VERIFY_SSL=false
- DB_HOST=mysql
- EXERCISM_ENV=development
- EXERCISM_DOCKER=true
- OVERMIND_SOCKET=/usr/src/app/tmp/overmind.sock
ports:
- 3020:3020
- 3334:3334
volumes:
- ../website:/usr/src/app
- "./tmp/exercism:/tmp/exercism"
- "./screenshots:/usr/src/app/tmp/screenshots"
- /usr/src/app/node_modules
- type: tmpfs
target: /usr/src/app/tmp
setup:
image: exercism/setup
mem_limit: "250m"
build:
context: ./setup
dockerfile: dev.Dockerfile
depends_on:
- aws
environment:
- EXERCISM_DOCKER=true
- EXERCISM_ENV=development
tooling-orchestrator:
image: exercism/tooling-orchestrator
mem_limit: "250m"
build:
context: ../tooling-orchestrator
dockerfile: dev.Dockerfile
depends_on:
- setup
ports:
- 3021:3021
environment:
- EXERCISM_ENV=development
- EXERCISM_DOCKER=true
volumes:
- ../tooling-orchestrator:/usr/src/app
tooling-invoker:
image: exercism/tooling-invoker
mem_limit: "250m"
build:
context: ../tooling-invoker
dockerfile: dev.Dockerfile
depends_on:
- setup
- tooling-orchestrator
environment:
- EXERCISM_ENV=development
- EXERCISM_DOCKER=true
- EXERCISM_INVOKE_STATEGY=local-webserver
volumes:
- ../tooling-invoker:/usr/src/app
- "./tmp/exercism:/tmp/exercism"
- /var/run/docker.sock:/var/run/docker.sock
generic-tooling:
image: exercism/generic-tooling-image
entrypoint: ["echo", "Ready to run..."]
build:
context: ../generic-tooling-build-context
dockerfile: Dockerfile
volumes:
- ../generic-tooling-source:/opt/generic-tooling-target
# services containers
aws:
image: localstack/localstack:0.12.19.1
mem_limit: "500m"
environment:
EDGE_PORT: "3040"
SERVICES: "s3,dynamodb,secretsmanager"
HOSTNAME: "aws"
HOSTNAME_EXTERNAL: "aws"
ports:
- 3040:3040
opensearch:
image: opensearchproject/opensearch:1.1.0
environment:
- discovery.type=single-node
ports:
- 9200:9200
volumes:
- opensearch:/usr/share/opensearch/data
mysql:
image: mysql:8
command: mysqld --default-authentication-plugin=mysql_native_password
mem_limit: "1g"
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_ROOT_HOST: "%"
redis:
image: redis
mem_limit: "500m"
ports:
- 6379:6379
# admin containers
adminer:
image: adminer:4.8.1-standalone
depends_on:
- mysql
environment:
ADMINER_DEFAULT_SERVER: mysql
ports:
- 8080:8080
opensearch-dashboards:
image: opensearchproject/opensearch-dashboards:1.1.0
depends_on:
- opensearch
ports:
- 5601:5601
environment:
OPENSEARCH_HOSTS: https://opensearch:9200
portainer:
image: portainer/portainer-ce:2.9.2-alpine
command: -H unix:///var/run/docker.sock
ports:
- 9000:9000
volumes:
- /var/run/docker.sock:/var/run/docker.sock
volumes:
opensearch:
driver: local