-
Notifications
You must be signed in to change notification settings - Fork 5
/
docker-compose.development.yml
100 lines (93 loc) · 3.42 KB
/
docker-compose.development.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
version: '3.7'
services:
selenium-hub:
image: selenium/hub:4.0.0
ports:
- "4442:4442"
- "4443:4443"
- "4444:4444"
volumes:
- alex-database:/var/alex/backend/target/postgresql
chrome-node:
image: selenium/node-chrome:4.0.0
shm_size: '2gb'
depends_on:
- selenium-hub
environment:
- JAVA_OPTS=-Dwebdriver.chrome.whitelistedIps=
- SE_EVENT_BUS_HOST=selenium-hub
- SE_NODE_GRID_URL=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
volumes:
- alex-database:/var/alex/backend/target/postgresql
ports:
- "5901:5900"
- "7901:7900"
firefox-node:
image: selenium/node-firefox:4.0.0
shm_size: '2gb'
depends_on:
- selenium-hub
environment:
- SE_EVENT_BUS_HOST=selenium-hub
- SE_EVENT_BUS_PUBLISH_PORT=4442
- SE_EVENT_BUS_SUBSCRIBE_PORT=4443
volumes:
- alex-database:/var/alex/backend/target/postgresql
ports:
- "5902:5900"
- "7902:7900"
alex-database:
image: postgres:10
environment:
- POSTGRES_HOST_AUTH_METHOD=trust
- POSTGRES_USER=sa
- POSTGRES_DB=alex
volumes:
- alex-database:/var/lib/postgresql
ports:
- "5432:5432"
alex-backend:
image: maven:3.8-openjdk-17
depends_on:
- selenium-hub
- alex-database
working_dir: /var/alex/backend
environment:
- DATABASE_HOST=alex-database
- DATABASE_PORT=5432
- DATABASE_NAME=alex
- DATABASE_USER=sa
- DATABASE_PASSWORD=sa
- GRID_HOST=selenium-hub
- GRID_PORT=4444
- RUNTIME=docker
volumes:
- ./backend/src:/var/alex/backend/src:rw
- ./backend/pom.xml:/var/alex/backend/pom.xml:rw
- alex-backend-maven:/root/.m2
- alex-database:/var/alex/backend/target/postgresql
- alex-backend-ltsmin:/var/ltsmin
ports:
- "5005:5005"
- "8000:8000"
command:
bash -c "if [ ! -d "/var/ltsmin/bin" ]; then
curl -fsSL -o /var/ltsmin/ltsmin-v3.0.2-linux.tgz https://github.com/utwente-fmt/ltsmin/releases/download/v3.0.2/ltsmin-v3.0.2-linux.tgz;
tar -xzf /var/ltsmin/ltsmin-v3.0.2-linux.tgz -C /var/ltsmin;
mv /var/ltsmin/v3.0.2/* /var/ltsmin/;
rm -rf /var/ltsmin/v3.0.2 /var/ltsmin/ltsmin-v3.0.2-linux.tgz;
fi && mvn spring-boot:run -Dspring-boot.run.jvmArguments="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005" -Dspring-boot.run.arguments=\"--ltsmin.path=/var/ltsmin/bin --spring.datasource.url=jdbc:postgresql://$${DATABASE_HOST}:$${DATABASE_PORT}/$${DATABASE_NAME} --spring.datasource.username=$${DATABASE_USER} --selenium.grid.host=$${GRID_HOST} --selenium.grid.port=$${GRID_PORT}\""
alex-frontend:
image: docker.io/library/node:16
working_dir: /var/alex/frontend
volumes:
- ./frontend:/var/alex/frontend:rw
ports:
- "4200:4200"
command: bash -c "npm install && npm run start:docker"
volumes:
alex-backend-maven:
alex-database:
alex-backend-ltsmin: