-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathdocker-compose.integration.yaml
146 lines (136 loc) · 3.42 KB
/
docker-compose.integration.yaml
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
networks:
flotta:
volumes:
db-data:
server-data:
client-1-data:
client-2-data:
node-1-data:
node-2-data:
services:
repository:
image: idsia.flotta.repository
build:
context: ../../
dockerfile: tests/integration/Dockerfile.pypirepo
container_name: repository
networks:
- flotta
entrypoint: pypi-server run -p 80 --log-stream stdout /packages
database:
image: postgres
container_name: database
environment:
- POSTGRES_USER=${DATABASE_USER?Missing DATABASE_USER for database}
- POSTGRES_PASSWORD=${DATABASE_PASS?Missing DATABASE_PASS for database}
- POSTGRES_DB=${DATABASE_SCHEMA?Missing DATABASE_SCHEMA for database}
volumes:
- db-data:/var/lib/postgresql/data
networks:
- flotta
ports:
- 15432:5432
server:
image: idsia.flotta
build:
context: ../../
dockerfile: ./Dockerfile
container_name: server
restart: unless-stopped
environment:
- flotta_NODE_HOST=server
- DATABASE_HOST=database
- DATABASE_PORT=5432
- DATABASE_USER=${DATABASE_USER?Missing DATABASE_USER for server}
- DATABASE_PASSWORD=${DATABASE_PASS?Missing DATABASE_PASS for server}
- DATABASE_SCHEMA=${DATABASE_SCHEMA?Missing DATABASE_SCHEMA for server}
volumes:
- server-data:/flotta/storage
- ./conf/config.server.yaml:/flotta/config.yaml
- /dev/shm:/dev/shm # this is for ray
networks:
- flotta
ports:
- 1456:1456
depends_on:
- database
client1:
image: idsia.flotta
container_name: client1
restart: unless-stopped
environment:
- flotta_NODE_HOST=server
volumes:
- client-1-data:/flotta/storage
- ./conf/config.client.1.yaml:/flotta/config.yaml
- ./data:/flotta/data
- /dev/shm:/dev/shm # this is for ray
networks:
- flotta
depends_on:
- server
client2:
image: idsia.flotta
container_name: client2
restart: unless-stopped
environment:
- flotta_NODE_HOST=server
volumes:
- client-2-data:/flotta/storage
- ./conf/config.client.2.yaml:/flotta/config.yaml
- ./data:/flotta/data
- /dev/shm:/dev/shm # this is for ray
networks:
- flotta
depends_on:
- server
node1:
image: idsia.flotta
container_name: node1
restart: unless-stopped
environment:
- flotta_NODE_HOST=node1
- flotta_JOIN_HOST=server
volumes:
- node-1-data:/flotta/storage
- ./conf/config.node.1.yaml:/flotta/config.yaml
- ./data:/flotta/data
- /dev/shm:/dev/shm # this is for ray
networks:
- flotta
depends_on:
- server
node2:
image: idsia.flotta
container_name: node2
restart: unless-stopped
environment:
- flotta_NODE_HOST=node2
- flotta_JOIN_HOST=server
volumes:
- node-2-data:/flotta/storage
- ./conf/config.node.2.yaml:/flotta/config.yaml
- ./data:/flotta/data
- /dev/shm:/dev/shm # this is for ray
networks:
- flotta
depends_on:
- server
workbench:
image: python:3.10
container_name: workbench
environment:
- SERVER=http://server:1456
- REPOSITORY_HOST=repository
- PROJECT_ID=${PROJECT_ID}
volumes:
- ./tests:/tests
- ./data:/data
entrypoint: /tests/init.sh
networks:
- flotta
depends_on:
- repository
- server
- client1
- client2