-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-compose.yml
146 lines (145 loc) · 3.39 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
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
services:
app-access:
build: ./access
container_name: app-access
ports:
- "8080:8080"
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-access:5432/access
depends_on:
- db-access
networks:
- my-network
app-credit:
build: ./credit
container_name: app-credit
ports:
- "8081:8081"
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-credit:5432/credit
depends_on:
- db-credit
networks:
- my-network
app-parking:
build: ./parking
container_name: app-parking
ports:
- "8082:8082"
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-parking:5432/parking
depends_on:
- db-parking
networks:
- my-network
app-user:
build: ./user
container_name: app-user
ports:
- "8083:8083"
environment:
- SPRING_DATASOURCE_URL=jdbc:postgresql://db-user:5432/user
depends_on:
- db-user
networks:
- my-network
app-gate:
build: ./gate
container_name: app-gate
ports:
- "8084:8084"
networks:
- my-network
db-access:
image: postgres:16
container_name: db-access
volumes:
- ./data/access_postgres_data:/var/lib/postgresql/data
environment:
POSTGRES_DB: access
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
restart: "on-failure"
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d access'"]
interval: 10s
timeout: 3s
retries: 5
ports:
- "5432:5432"
networks:
- my-network
db-credit:
image: postgres:16
container_name: db-credit
volumes:
- ./data/credit_postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_DB: credit
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
restart: "on-failure"
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d credit'"]
interval: 10s
timeout: 3s
retries: 5
ports:
- "5433:5432"
networks:
- my-network
db-parking:
image: postgres:16
container_name: db-parking
volumes:
- ./data/parking_postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_DB: parking
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
restart: "on-failure"
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d parking'"]
interval: 10s
timeout: 3s
retries: 5
ports:
- "5434:5432"
networks:
- my-network
db-user:
image: postgres:16
container_name: db-user
volumes:
- ./data/user_postgres_data:/var/lib/postgresql/data/
environment:
POSTGRES_DB: user
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
restart: "on-failure"
healthcheck:
test: ["CMD-SHELL", "sh -c 'pg_isready -U ${POSTGRES_USER} -d user'"]
interval: 10s
timeout: 3s
retries: 5
ports:
- "5435:5432"
networks:
- my-network
nginx:
image: nginx:latest
container_name: nginx
ports:
- "80:80"
volumes:
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- app-access
- app-credit
- app-parking
- app-user
- app-gate
networks:
- my-network
networks:
my-network: